Nối các phần tử List thành chuỗi: string.Join (khuyên dùng), StringBuilder, LINQ Aggregate.
Ví dụ minh họa
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class Program
{
static void Main()
{
var list = new List { "Accessories", "Footwear", "Watches" };
// Cách 1: string.Join (tốt nhất)
string result1 = string.Join(", ", list);
Console.WriteLine($"Join: {result1}");
// Cách 2: StringBuilder (hiệu năng cho list lớn)
var sb = new StringBuilder();
for (int i = 0; i < list.Count; i++)
{
if (i > 0) sb.Append(", ");
sb.Append(list[i]);
}
Console.WriteLine($"StringBuilder: {sb}");
// Cách 3: LINQ Aggregate
string result3 = list.Aggregate((a, b) => a + ", " + b);
Console.WriteLine($"Aggregate: {result3}");
// Cách 4: List → string
var numbers = new List { 1, 2, 3, 4, 5 };
string numsStr = string.Join("-", numbers.Select(n => n.ToString()));
Console.WriteLine($"Int list: {numsStr}");
// Empty list
var empty = new List();
Console.WriteLine($"Empty list: '{string.Join(",", empty)}'"); // ""
}
}
Kết quả đầu ra
Join: Accessories, Footwear, Watches StringBuilder: Accessories, Footwear, Watches Aggregate: Accessories, Footwear, Watches Int list: 1-2-3-4-5 Empty list: ''
Khuyến nghị: string.Join(separator, list) - tối ưu, xử lý null/empty, readable. StringBuilder cho logic phức tạp. Tránh + trong loop (tạo nhiều string rác).