.NET 4+
IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
Chi tiết & Giải pháp Pre .Net 4.0
IEnumerable<string>
có thể được chuyển đổi thành một chuỗi chuỗi rất dễ dàng với LINQ (.NET 3.5):
IEnumerable<string> strings = ...;
string[] array = strings.ToArray();
Thật dễ dàng để viết phương thức trợ giúp tương đương nếu bạn cần:
public static T[] ToArray(IEnumerable<T> source)
{
return new List<T>(source).ToArray();
}
Sau đó gọi nó như thế này:
IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);
Sau đó bạn có thể gọi string.Join
. Tất nhiên, bạn không phải sử dụng phương pháp trợ giúp:
// 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());
Cái sau là một chút của một miệng mặc dù :)
Đây có thể là cách đơn giản nhất để thực hiện và cũng khá hiệu quả - có những câu hỏi khác về chính xác hiệu suất là như thế nào, bao gồm (nhưng không giới hạn) cái này .
Kể từ .NET 4.0, có nhiều tình trạng quá tải có sẵn string.Join
, vì vậy bạn thực sự có thể viết:
string joined = string.Join(",", strings);
Đơn giản hơn nhiều :)
public static TSource[] ToArray<TSource>(this IEnumerable<TSource> source)