.NET 4+
IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
Detalhe e soluções pré .Net 4.0
IEnumerable<string>
pode ser convertido em uma matriz de cadeia muito facilmente com LINQ (.NET 3.5):
IEnumerable<string> strings = ...;
string[] array = strings.ToArray();
É fácil escrever o método auxiliar equivalente se você precisar:
public static T[] ToArray(IEnumerable<T> source)
{
return new List<T>(source).ToArray();
}
Então chame assim:
IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);
Você pode ligar string.Join
. Obviamente, você não precisa usar um método auxiliar:
// 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());
O último é um pouco de um bocado embora :)
É provável que seja a maneira mais simples de fazê-lo e também tenha um bom desempenho - há outras perguntas sobre exatamente como é o desempenho, incluindo (mas não limitado a) este .
No .NET 4.0, há mais sobrecargas disponíveis no string.Join
, então você pode simplesmente escrever:
string joined = string.Join(",", strings);
Muito mais simples :)
public static TSource[] ToArray<TSource>(this IEnumerable<TSource> source)