msdn List sort排序 IComparable 用法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            List<PermCategory> list = new List<PermCategory>();
            list.Add(new PermCategory { CateId = 1, Name = "ad5", Perm = 1, Summary = "ada5" });
            list.Add(new PermCategory { CateId=1,Name="ad",Perm=1,Summary="ada"});
            list.Add(new PermCategory { CateId = 1, Name = "ad4", Perm = 1, Summary = "ada4" });
            list.Add(new PermCategory { CateId = 2, Name = "a1d", Perm = 2, Summary = "a1da" });
            list.Add(new PermCategory { CateId = 2, Name = "ad", Perm = 2, Summary = "ada" });
            Console.WriteLine("排序前");
            test(list);
        
            list.Sort((x, y) => {
                int result = 0;
// result -1小到大 ,  1大到小
                #region A:perm 小到大,name 长度 小到大
                //if (x.Perm < y.Perm)
                //{
                //    result = -1;
                //}
                //if (x.Perm < y.Perm || x.Name.Length < y.Name.Length)
                //{
                //    result = -1;
                //}
                #endregion
                #region A:perm 小到大,name 长度 小到大
                //if (x.Perm < y.Perm)
                //{
                //    result = -1;
                //}
                //if (x.Perm == y.Perm && x.Name.Length < y.Name.Length)
                //{
                //    result = -1;
                //}
                #endregion
                #region A:perm 小到大,name 长度 大到小
                if (x.Perm < y.Perm)
                {
                    result = -1;
                }
                if (x.Perm == y.Perm && x.Name.Length > y.Name.Length)
                {
                    result = -1;
                }
                #endregion
                return result;
            });
            Console.WriteLine("---------------------");
            test(list);
            Console.WriteLine("排序后");
            Console.ReadLine();
            
        }
        static void test(List<PermCategory> list) {
            foreach (var item in list)
            {
                Console.WriteLine(string.Format("perm:{0},name:{1}",item.Perm,item.Name));
            }
        }
    }
    public class PermCategory //: IJsonlizable
    {
      //  public PermCategory();
        public int CateId { get; set; }
     
        public string Name { get; set; }
        public int Perm { get; set; }
   
        public string Summary { get; set; }
    //    public string Jsonlize();
    }
}
http://www.cnblogs.com/dj1232090/p/5844991.html
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号