I created these extension methods that can be used to concatenate any number of items in a collection. It may be a bit overkill for you example, but if you need to concatenate items that are objects and not strings it can work great.
Usage:
fileContent = field.Values.Contatenate(Environment.NewLine);
Extensions:
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, ",");
}
}