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

    效果如下所示:

  • 相关阅读:
    spring日记(三)
    spring日记(二)
    spring框架日记(一)
    springMVC日记(四)
    springMVC日记(三),文件上传,拦截器,数据校验
    springMVC日记(二)
    springMVC日记(一)
    Mybatis总结
    优化Dalvik虚拟机的内存分配
    简单对App进行单元测试
  • 原文地址:https://www.cnblogs.com/YYkun/p/11570706.html
Copyright © 2011-2022 走看看