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 ToArray
nữa, vì có quá tải String.Join
phả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 Aggregate
có thể thực hiện chậm hơn (có thể là nhiều hoạt động nối chuỗi hơn).
Aggregate
là 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 each
ing 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.