我有一个list,需要根据某个数进行排序,

举个例子

    class TOrder
    {
        public int Order
        {
            get;
            set;
        }
        public string Name
        {
            get;
            set;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<TOrder> orders = new List<TOrder>();

            orders.Add(new TOrder()
            {
                Order = 10,
                Name =10+""
            });

            orders.Add(new TOrder()
            {
                Order = 1,
                Name = 1 + ""
            });

            orders.Add(new TOrder()
            {
                Order = 100,
                Name = 100 + ""
            });


        }
    }

需要根据Order的值进行排序

从小到大进行排序

现在的序号如下:

C#之list排序_C#

 排序代码如下:

            orders.Sort((x, y) =>
            {
                if(x.Order<= y.Order)
                {
                    return 1;
                }
                return -1;
            });

结果如下:

C#之list排序_C#_02

 排序代码如下:

            orders.Sort((x, y) =>
            {
                if(x.Order<= y.Order)
                {
                    return -1;
                }
                return 1;
            });

结果如下:

C#之list排序_C#_03

 这说明当返回负数时候,x会往前面排,当返回正数的时候,x会往后面排。