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

Sắp xếp chuỗi trong C#

Sắp xếp mảng chuỗi: Array.Sort (in-place) hoặc LINQ OrderBy (tạo mới).

Ví dụ minh họa

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        string[] values = { "tim", "amit", "tom", "jack", "saurav" };
        
        Console.WriteLine("Gốc: " + string.Join(" ", values));
        
        // Cách 1: Array.Sort (sửa đổi mảng gốc)
        Array.Sort(values);
        Console.WriteLine("Array.Sort: " + string.Join(" ", values));
        
        // Reset
        values = new[] { "tim", "amit", "tom", "jack", "saurav" };
        
        // Cách 2: LINQ OrderBy (tạo mảng mới)
        var sorted = values.OrderBy(x => x).ToArray();
        Console.WriteLine("LINQ OrderBy: " + string.Join(" ", sorted));
        
        // Cách 3: Sắp xếp giảm dần
        var desc = values.OrderByDescending(x => x).ToArray();
        Console.WriteLine("Giảm dần: " + string.Join(" ", desc));
        
        // Cách 4: Bỏ qua chữ hoa/thường
        var ignoreCase = values.OrderBy(x => x, StringComparer.OrdinalIgnoreCase).ToArray();
        Console.WriteLine("Ignore case: " + string.Join(" ", ignoreCase));
    }
}

Kết quả đầu ra

Gốc: tim amit tom jack saurav
Array.Sort: amit jack saurav tim tom
LINQ OrderBy: amit jack saurav tim tom
Giảm dần: tom tim saurav jack amit
Ignore case: amit jack saurav tim tom

Lưu ý: Sắp xếp mặc định dùng StringComparer.Ordinal (so sánh mã Unicode). "Zebra" < "apple" vì 'Z' (90) < 'a' (97). Dùng StringComparer.OrdinalIgnoreCase hoặc CurrentCulture cho ngôn ngữ tự nhiên.