.NET 4+
IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
Подробные и предварительные решения .Net 4.0
IEnumerable<string>
могут быть преобразованы в массив строк очень легко с помощью LINQ (.NET 3.5):
IEnumerable<string> strings = ...;
string[] array = strings.ToArray();
Достаточно просто написать эквивалентный вспомогательный метод, если вам нужно:
public static T[] ToArray(IEnumerable<T> source)
{
return new List<T>(source).ToArray();
}
Тогда назовите это так:
IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);
Вы можете позвонить string.Join
. Конечно, вам не нужно использовать вспомогательный метод:
// C# 3 and .NET 3.5 way:
string joined = string.Join(",", strings.ToArray());
// C# 2 and .NET 2.0 way:
string joined = string.Join(",", new List<string>(strings).ToArray());
Последний немного глоток, хотя :)
Вероятно, это будет самый простой способ сделать это, а также довольно производительный - есть и другие вопросы о том, на что точно похожа производительность, включая (но не ограничиваясь) этот .
Начиная с .NET 4.0, существует больше перегрузок string.Join
, поэтому вы можете просто написать:
string joined = string.Join(",", strings);
Гораздо проще :)
public static TSource[] ToArray<TSource>(this IEnumerable<TSource> source)