c#中list的排序

https://www.cnblogs.com/mq0036/p/11386984.html

internal class Person : IComparable<Person>
    {
        private String name;

        public Person(string name)
        {
            this.Name = name;
        }

        public string Name { get => name; set => name = value; }

        //重写的CompareTo方法,根据Id排序
        public int CompareTo(Person other)
        {
            if (null == other)
            {
                return 1;//空值比较大,返回1
            }
            return this.Name.CompareTo(other.Name);//升序
            //return other.Name.CompareTo(this.Name);//降序
        }

        //重写ToString
        public override string ToString()
        {
            return "Name:" + Name;
        }
    }
private static void Main(string[] args)
        {
            List<Person> list = new List<Person>();
            Person p1 = new Person("20工步");
            Person p2 = new Person("10工步");
            Person p3 = new Person("50工步");
            Person p4 = new Person("a工步");
            Person p5 = new Person("哈哈工步");
            list.Add(p1);
            list.Add(p2);
            list.Add(p3);
            list.Add(p4);
            list.Add(p5);
            list.Sort();
            foreach (var p in list)
            {
                Console.WriteLine(p);
            }
        }

猜你喜欢

转载自blog.csdn.net/lzh657083979/article/details/105686381