c#自定义ordreby的排序方式

 有一个类队列,需要按组进行排序

            List lst = new List()
            {
                new CLASST(){group ="第二组",name ="张二" },
                new CLASST(){group ="第五组",name ="张五" },
                new CLASST(){group ="第一组",name ="张一" },
                new CLASST(){group ="第三组",name ="张三" },
                new CLASST(){group ="第四组",name ="张四" },
            };

 一下是第一种排序方式,

            lst = lst.OrderBy(p=>p.group).ToList();
            lst.ForEach(p =>
            {
                Console.WriteLine(p.group+p.name);
            });

运行输出结果:

第二组张二
第三组张三
第四组张四
第五组张五
第一组张一

以下是第二种自定义排序方式,

            lst = lst.OrderBy(p=>
            {
                if (p.group.Contains("一"))
                    return 1;
                else if (p.group.Contains("二"))
                    return 2;
                else if (p.group.Contains("三"))
                    return 3;
                else if (p.group.Contains("四"))
                    return 4;
                else
                    return 5;

            }).ToList();
            lst.ForEach(p =>
            {
                Console.WriteLine(p.group + p.name);
            });

运行输出结果:

第一组张一
第二组张二
第三组张三
第四组张四
第五组张五

你可能感兴趣的:(c#,开发语言)