2010-07-09 39 views

Trả lời

21
int[] list = new [] {3, 99, 6}; 
string s = string.Join(",", list.Select(x => x.ToString()).ToArray()); 

Chỉnh sửa, C# 4.0

Với C# 4.0, có một tình trạng quá tải của string.Join, mà cuối cùng cho phép đi qua một IEnumerable<string> hoặc IEnumerable<T> trực tiếp. Không cần để tạo ra một mảng, và đó cũng là không cần phải gọi ToString(), được gọi là ngầm:

string s = string.Join(",", list); 

Với định dạng rõ ràng để chuỗi:

string s = string.Join(",", list.Select(x => x.ToString(/*...*/)); 
12

giải pháp Stefan là đúng, và yêu cầu khá nhiều đối với .NET 3.5. Trong .NET 4, có một overload of String.Join mà phải mất một IEnumerable<string> vì vậy bạn có thể sử dụng:

string s = string.Join(",", list.Select(x => x.ToString()); 

hoặc thậm chí chỉ:

string s = string.Join(",", list); 
+2

* rất * tốt để biết khi tôi chuyển sang 4 –

+0

Là ToString () cần thiết? Nó dường như chỉ làm điều đó một mình, như 'String.Join (", ", danh sách);' – goodeye

+0

@goodeye: Yup, bạn nói đúng. –

Các vấn đề liên quan