Интернирование строк в .Net Framework - Каковы преимущества и когда использовать интернирование

Я хочу знать процесс и внутреннее устройство интернирования строк , характерных для .Net framework . Также хотелось бы знать преимущества использования интернирования и сценариев / ситуаций, в которых мы должны использовать интернирование строк для повышения производительности. Хотя я изучал интернирование по книге Джеффри Рихтера по CLR, я все еще сбит с толку и хотел бы узнать об этом более подробно.

[Редактирование], чтобы задать конкретный вопрос с примером кода, как показано ниже:

private void MethodA()
{
    string s = "String"; // line 1 - interned literal as explained in the answer        

    //s.intern(); // line 2 - what would happen in line 3 if we uncomment this line, will it make any difference?
}

private bool MethodB(string compareThis)
{
    if (compareThis == "String") // line 3 - will this line use interning (with and without uncommenting line 2 above)?
    {
        return true;
    }
    return false;
}
40
задан VS1 9 November 2011 в 06:02
поделиться