Câu trả lời:
Bạn có thể sử dụng String.Join. Nếu bạn có một List<string>sau đó bạn có thể gọi ToArrayđầu tiên:
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
Trong .NET 4 bạn không cần ToArraynữa, vì có quá tải String.Joinphải mất một IEnumerable<string>.
Các kết quả:
John, Anna, Monica
Bạn cũng có thể làm điều này với linq nếu bạn muốn
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Mặc dù tôi thích cú pháp không linq trong câu trả lời của Quartermeister và tôi nghĩ rằng Aggregatecó thể thực hiện chậm hơn (có thể là nhiều hoạt động nối chuỗi hơn).
Aggregatelà tốt hơn cho các hoạt động loại toán học. Với chuỗi thao tác này, nó tương tự như for eaching và chỉ nối vào một chuỗi rất chậm hiệu quả vì bạn đang tạo một chuỗi mới cho mỗi mục tồn tại trong danh sách.