Я создал эти методы расширения, которые можно использовать для объединения любого количества элементов в коллекции. Это может быть немного излишним для вашего примера, но если вам нужно объединить элементы, которые являются объектами, а не строками, это может отлично работать.
Использование:
fileContent = field.Values.Contatenate(Environment.NewLine);
Расширения:
public static class EnumerableExtensions
{
public static string Concatenate<T>(this IEnumerable<T> source, string seperator)
{
return Concatenate(source, i => i.ToString(), seperator);
}
public static string Concatenate<T>(this IEnumerable<T> source, Func<T, string> selector, string seperator)
{
var builder = new StringBuilder();
foreach (var item in source)
{
if (builder.Length > 0)
builder.Append(seperator);
builder.Append(selector(item));
}
return builder.ToString();
}
public static string ToCsv<T>(this IEnumerable<T> source)
{
return Concatenate(source, i => i.ToString(), ",");
}
public static string ToCsv<T>(this IEnumerable<T> source, Func<T, string> selector)
{
return Concatenate(source, selector, ",");
}
}