C#里List.Sort的用法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ListSort
{
    class Program
    {
        static void Main(string[] args)
        {
            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" });
// 方法1 使用Comparison<T>委托。 L.Sort((left, right) => { if (left.n > right.n) return 1; else if (left.n == right.n) return 0; else return -1; }); // 方法2 使用IComparer<T>接口。 L.Sort(new CComparer()); // 方法3 除以上两种方法以外还可以使用另一种方法,在C类中实现IComparable<T> L.Sort(); } }
 //方法二
    public class CComparer : IComparer<C>
    {
        public int Compare(C left, C right)
        {
            if (left.n > right.n)
                return 1;
            else if (left.n == right.n)
                return 0;
            else
                return -1;
        }
    }
  //方法三
    public class C : IComparable<C>
    {
        public int n;
        public string s;
 
        public int CompareTo(C other)
        {
            if (this.n > other.n)
                return 1;
            else if (this.n == other.n)
                return 0;
            else
                return -1;
        }
    }
}

  

posted @ 2014-08-22 22:53  talentzemin  阅读(28992)  评论(0编辑  收藏  举报