.NET 4+
IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
Détails et solutions pré-Net 4.0
IEnumerable<string>
peut être converti en un tableau de chaînes très facilement avec LINQ (.NET 3.5):
IEnumerable<string> strings = ...;
string[] array = strings.ToArray();
Il est assez facile d'écrire la méthode d'assistance équivalente si vous devez:
public static T[] ToArray(IEnumerable<T> source)
{
return new List<T>(source).ToArray();
}
Ensuite, appelez-le comme ceci:
IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);
Vous pouvez ensuite appeler string.Join
. Bien sûr, vous n'avez pas besoin d'utiliser une méthode d'assistance:
// 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());
Ce dernier est un peu bouchée cependant :)
C'est probablement le moyen le plus simple de le faire, et assez performant également - il y a d'autres questions sur la nature exacte des performances, y compris (mais sans s'y limiter) celle-ci .
Depuis .NET 4.0, il y a plus de surcharges disponibles dans string.Join
, vous pouvez donc simplement écrire:
string joined = string.Join(",", strings);
Beaucoup plus simple :)
public static TSource[] ToArray<TSource>(this IEnumerable<TSource> source)