Поиск…


замечания

Если вы создаете динамическую строку, это хорошая практика , чтобы выбрать 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"


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow