Вы также можете создать массив данных c.Name и использовать метод String.Join для создания своей строки.
public string ReturnAsCSV(ContactList contactList)
{
List<String> tmpList = new List<string>();
foreach (Contact c in contactList)
{
tmpList.Add(c.Name);
}
return String.Join(",", tmpList.ToArray());
}
Это может быть не так эффективно, как подход StringBuilder , но, безусловно, выглядит чище.
Кроме того, вы можете рассмотреть возможность использования .CurrentCulture.TextInfo.ListSeparator вместо жестко запрограммированной запятой - если ваш вывод будет импортирован в другие приложения, у вас могут возникнуть проблемы с ним , ListSeparator может отличаться в разных культурах, и MS Excel, по крайней мере, учитывает этот параметр. Итак:
return String.Join(
System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator,
tmpList.ToArray());