C#中LIST实现排序

C#中使用list<T>是很常用的,对于他的排序也有很多中,可以使用

1,使用Comparison<T>委托

2,使用IComparer<T>接口

3,实现IComparable<T>

这些方法可以参考

http://zhidao.baidu.com/link?url=DikcOu3-Kf5mY07BZbvB-KDfKfBHnR0Sk3IYIs74KZssgJTuCV0xEB2q2TFlfz9wRFRwa3c55GEf_y-zRx1xfq

本文使用最简单的LINQ方法,不需要实现任何接口,也没有复杂的委托:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Program p = new Program();
            p.iorder();
        }  
        //普通实体类 不用实现接口
       public class C{
            public int n;
            public string s;

        }
       //排序方法
        public void iorder() {
        //添加模拟数据
            List<C> L = new List<C>();
            L.Add(new C { n = 1, s = "b" });
            L.Add(new C { n = 3, s = "a" });
            L.Add(new C { n = 2, s = "c" });
         //使用LINQ排序
            var query = from a in L
                        orderby a.n descending
                        select a;
            L = query.ToList();
            //打印出结果
            Console.WriteLine(L[1].n);
            Console.ReadLine();
        }
    }
}

关于LINQ可以参考

MSDN官方:   https://code.msdn.microsoft.com/101-linq-samples-3fb9811b

网友翻译:    http://www.cnblogs.com/BigTall/archive/2008/01/03/1024695.html






你可能感兴趣的:(C#中LIST实现排序)