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

    效果如下所示:

  • 相关阅读:
    布局神器display:table-cell
    解决IE兼容总汇【转】
    jQuery Validate【强大的表单验证】
    使用信号SIGALRM 为 recvfrom 设置超时,防止死等待
    并发服务器(IO多路复用)
    并发服务器(多进程版本)
    TCP listen()函数内幕
    c++ 重载运算符规则
    内核定时器struct timer_list
    C和arm汇编的相互调用(看书笔记)
  • 原文地址:https://www.cnblogs.com/YYkun/p/11570706.html
Copyright © 2011-2022 走看看