Как конкатенируются строки компилятора C #

Возможный дубликат:
Имеет ли C # оптимизировать конкатенацию строковых литералов?

string foo = "bar1" + "bar2" + "bar3";

Применяет ли компилятор c # внутри метод string.Concat?

Тогда для удобства чтения было бы лучше использовать оператор +.


person Pascal    schedule 14.01.2012    source источник
comment
да, это обман, см. этот ответ в том же сообщении.   -  person gideon    schedule 14.01.2012


Ответы (1)


С литералами это эквивалентно:

string foo = "bar1bar2bar3";

Конкатенация не выполняется - они объединяются во время компиляции в константу.

person Chris Shain    schedule 14.01.2012
comment
Я думаю, он имел в виду случай, когда вы сказали бы string foo = "bar: " + bar + " (bar bar)";, где bar неизвестно во время компиляции. - person Tim; 14.01.2012
comment
Возможно, но он не так написал вопрос. - person Chris Shain; 14.01.2012