C# Language
Конкатенация строк
Поиск…
замечания
Если вы создаете динамическую строку, это хорошая практика , чтобы выбрать StringBuilder
класса , а не вступающие строки с помощью + или Concat
метода, каждый + / Concat
создает новую строку объект каждый раз она выполняется.
+ Оператор
string s1 = "string1";
string s2 = "string2";
string s3 = s1 + s2; // "string1string2"
Объединить строки, используя System.Text.StringBuilder
Конкатенация строк с помощью StringBuilder может обеспечить преимущества производительности перед простой конкатенацией строк с помощью +
. Это связано с тем, как выделяется память. Строки перераспределяются с каждой конкатенацией, StringBuilders выделяют память в блоках, только перераспределяя, когда текущий блок исчерпан. Это может иметь огромное значение при выполнении множества небольших конкатенаций.
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
sb.Append(i);
sb.Append(" ");
}
Console.WriteLine(sb.ToString()); // "1 2 3 4 5 "
Вызовы в Append()
могут быть подключены последовательно, потому что он возвращает ссылку на StringBuilder
:
StringBuilder sb = new StringBuilder();
sb.Append("some string ")
.Append("another string");
Элементы массива Concat string с использованием String.Join
Метод String.Join
может использоваться для конкатенации нескольких элементов из массива строк.
string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";
string result = String.Join(separator, value, 1, 2);
Console.WriteLine(result);
Производит следующий выход: «оранжевый, виноградный»
В этом примере используется String.Join(String, String[], Int32, Int32)
, которая указывает начальный индекс и счетчик сверху разделителя и значения.
Если вы не хотите использовать перегрузку startIndex и count, вы можете присоединиться ко всем указанным строкам. Как это:
string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";
string result = String.Join(separator, value);
Console.WriteLine(result);
который будет производить;
яблоко, апельсин, виноград, груша
Конкатенация двух строк с использованием $
$ обеспечивает простой и сжатый способ конкатенации нескольких строк.
var str1 = "text1";
var str2 = " ";
var str3 = "text3";
string result2 = $"{str1}{str2}{str3}"; //"text1 text3"