.NET 4+
IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
Szczegóły i rozwiązania .Net 4.0
IEnumerable<string>
można bardzo łatwo przekonwertować na tablicę ciągów za pomocą LINQ (.NET 3.5):
IEnumerable<string> strings = ...;
string[] array = strings.ToArray();
Wystarczy napisać równoważną metodę pomocnika, jeśli potrzebujesz:
public static T[] ToArray(IEnumerable<T> source)
{
return new List<T>(source).ToArray();
}
Następnie nazwij to tak:
IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);
Możesz wtedy zadzwonić string.Join
. Oczywiście nie musisz używać metody pomocniczej:
// 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());
Ten ostatni jest jednak trochę kęs :)
Jest to prawdopodobnie najprostszy sposób, aby to zrobić, a także dość wydajny - istnieją inne pytania dotyczące dokładnie tego, jak wygląda wydajność, w tym (ale nie wyłącznie) ten .
Począwszy od .NET 4.0, dostępnych jest więcej przeciążeń w string.Join
, więc możesz po prostu napisać:
string joined = string.Join(",", strings);
O wiele prostsze :)
public static TSource[] ToArray<TSource>(this IEnumerable<TSource> source)