Когда следует использовать String.Format или String.Concat вместо оператора конкатенации?

В C # возможно объединение строк несколькими способами:

Использование оператора объединения:

var newString = "The answer is '" + value + "'.";

Использование String.Format :

var newString = String.Format("The answer is '{0}'.", value);

Использование String.Concat :

var newString = String.Concat("The answer is '", value, "'.");

Каковы преимущества / недостатки каждого из этих методов? Когда я должен предпочесть одно другому?

Вопрос возникает из-за споров между разработчиками. Один никогда не использует String.Format для конкатенации - он утверждает, что это делается для форматирования строк, а не для конкатенации, и это всегда нечитаемо, потому что элементы в строке выражаются в неправильный порядок. Другой часто использует String.Format для конкатенации, потому что он думает, что это облегчает чтение кода, особенно когда задействовано несколько наборов кавычек. Оба эти разработчика также используют оператор конкатенации и String.Builder.

10
задан BoltClock 12 January 2011 в 11:46
поделиться