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

    效果如下所示:

  • 相关阅读:
    【Matlab】去除图片周围空白区域(plot subplot)
    使用nbdev进行jupyter项目的开发
    如何绘制符合打印标准的图形
    如何使用Python完成视频的快速剪辑
    如何查看和修改论文图片的打印尺寸
    使用TMUX替代screen工具
    Emacs设置包管理器以及镜像
    Emacs的配置文件
    Emacs Windows的设置
    数据科学新的工具Julia
  • 原文地址:https://www.cnblogs.com/YYkun/p/11570706.html
Copyright © 2011-2022 走看看