Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Chuyển List thành String trong C#

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).