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;
        }
    }
}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM