• 实现Linq.Distinct方法


    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace Microsoft.Windows.System.PerfCounters
    {
        public sealed class Program
        {
            static void Main(string[] args)
            {
                List<MyClass> s = new List<MyClass>();
                s.Add(new MyClass { Age = 78 });
                s.Add(new MyClass { Age = 18 });
                s.Add(new MyClass { Age = 18 });
                s.Add(new MyClass { Age = 8 });
                s.Add(new MyClass { Age = 8 });
                s.Add(new MyClass { Age = 58 });
                s.Add(new MyClass { Age = 98 });
                s.Add(new MyClass { Age = 98 });
    
                s.Sort();
                var q = s.Distinct(new MyClass()).ToList();
    
                foreach (var item in q)
                {
                    Console.WriteLine(item.Age);
                }
    
                List<int> a = new List<int>();
                a.Add(1);
                a.Add(2);
                a.Add(1);
                a.Add(5);
                a.Add(1);
                a.Add(6);
    
                var b = a.Distinct();
                foreach (var item in b)
                {
                    Console.WriteLine(item);
                }
            }
        }
    
        class MyClass : IComparable<MyClass>, IEqualityComparer<MyClass>
        {
            public int Age { get; set; }
    
            public int CompareTo(MyClass other)
            {
                return this.Age.CompareTo(other.Age);
            }
    
            public bool Equals(MyClass x, MyClass y)
            {
                return x.Age == y.Age;
            }
    
            public int GetHashCode(MyClass obj)
            {
                return obj.Age.GetHashCode();
            }
        }
    }
    

      实现Distinct方法。

    同样的还有sort还有其他的方法。

  • 相关阅读:
    rabbitmq
    mysql
    redis
    vue整理
    crawlspider和中间件
    日志等级与请求传参
    Scrapy框架初级篇
    验证码操作
    图片懒加载、selenium&phantomjs
    《信息安全系统设计基础》 第二周学习总结
  • 原文地址:https://www.cnblogs.com/OliverZh/p/2417899.html
Copyright © 2020-2023  润新知