zoukankan      html  css  js  c++  java
  • 实现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还有其他的方法。

  • 相关阅读:
    Go语言趣学指南lesson3
    简单的>this
    多媒体查询
    解析对象原型链
    笑对人生,坐看云起云落
    HTML5
    javascript函数及作用域的小结
    不得不知call()和apply()
    浅谈弹性盒子布局
    编译原理实验(算符优先文法)
  • 原文地址:https://www.cnblogs.com/OliverZh/p/2417899.html
Copyright © 2011-2022 走看看