zoukankan      html  css  js  c++  java
  • C# List集合去除重复数据

    实例如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
    
    namespace 集合去除重复数据
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                List<Test> list = InitList();
                BindData(list);
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                List<Test> list = InitList();
                BindData(list);
            }
    
            private void BindData(List<Test> list)
            {
                this.lvList.Items.Clear();
                foreach (Test item in list)
                {
                    this.lvList.Items.Add(item.Name);
                }
            }
    
            private List<Test> InitList()
            {
                List<Test> list = new List<Test>();
                list.Add(new Test { Name = "张三" });
                list.Add(new Test { Name = "张三1" });
                list.Add(new Test { Name = "张三2" });
                list.Add(new Test { Name = "张三3" });
                list.Add(new Test { Name = "张三" });
                list.Add(new Test { Name = "张三1" });
                return list;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                Test t = new Test();
                List<Test> list = InitList().Distinct(new DistinctTest<Test>()).ToList();
                BindData(list);
            }
        }
    
        class Test
        {
            public string Name { get; set; }
        }
    
        class DistinctTest<TModel> : IEqualityComparer<TModel>
        {
            public bool Equals(TModel x, TModel y)
            {
                //Test
                Test t = x as Test;
                Test tt = y as Test;
                if (t != null && tt != null) return t.Name == tt.Name;
                return false;
            }
    
            public int GetHashCode(TModel obj)
            {
                return obj.ToString().GetHashCode();
            }
        }
    }
    

    效果如下所示:

  • 相关阅读:
    算法:最小公倍数的求解方法
    使用C语言中qsort()函数对浮点型数组无法成功排序的问题
    用两个栈模拟实现一个队列
    单链表反向查找
    单链表逆序
    斐波那契(Fibonacci)数列的几种计算机解法
    最大子列和问题
    Visual Studio个人常用快捷键
    数字根(digital root)
    秦九韶算法(霍纳算法)求解多项式
  • 原文地址:https://www.cnblogs.com/YYkun/p/11570706.html
Copyright © 2011-2022 走看看