В зависимости от ваших требований к производительности вы можете выполнить конкататацию с помощью оператора сложения:
string finalName = string.Empty;
foreach(row in Dataset)
{
finalName += row.name;
}
или используйте StringBuilder :
Stringbuilder sb = new StringBuilder();
foreach(row in Dataset)
{
sb.Append(row.Name);
}
string finalName = sb.ToString();
Общее для очень небольшого числа добавлений, вы не заметите разницу между двумя версиями. Но если вы объединяете много строк, использование StringBuilder может принести ощутимые преимущества в производительности и памяти.
Также имейте в виду, что строки будут располагаться непосредственно одна за другой, поэтому вы также можете добавить пробел или новую строку между ними.
Специальный бонус LINQ one-liner:
Поскольку вы, кажется, плохо знакомы с C #, я бы посоветовал вам игнорировать этот, поскольку он довольно продвинутый и, откровенно говоря, не так удобочитаемый (но, с другой стороны, кому не нравится добавлять случайные биты LINQ в свой код? ). Тем не менее, я добавлю это здесь для полноты. Я не знаю, на что похожа производительность, но одно из главных преимуществ перед другими методами заключается в легкости, с которой вы можете поместить пробел или другой символ между строками. Просто измените значение в отмеченной строке на любое значение, с которым вы хотите разделить объединенные строки (например, Environment.NewLine или "")
string finalName = string.Join(
"", //Change the value here to separate the strings.
(from row in Dataset
select row.Name).ToArray());
или, если вы предпочитаете лямбды LINQ:
string finalName = string.Join(
"", //Change the value here to separate the strings.
Dataset.Select(row => row.Name).ToArray());