C#如何对中文名字 按 姓氏 排序

发布时间 2023-12-17 12:59:14作者: BloggerSb

names.Sort((a, b) => a.name.CompareTo(b.name));

 

using System;
using System.Collections.Generic;
using System.Globalization;

class Program
{
    static void Main()
    {
        List<string> names = new List<string> { "张三", "李四", "王五", "赵六" };

        // 获取中文排序规则
        CompareInfo compareInfo = CultureInfo.GetCultureInfo("zh-CN").CompareInfo;

        // 对名字列表按姓氏进行排序
        names.Sort((x, y) => compareInfo.Compare(x, 0, 1, y, 0, 1));

        // 输出排序后的名字
        foreach (var name in names)
        {
            Console.WriteLine(name);
        }
    }
}