C# HashSet类(复杂)对象的去重
2016-07-25 22:36
639 查看
public class Student { public string Id { get; set; } public string Name { get; set; } public override bool Equals(object obj) { Student e = obj as Student; return this.Id == e.Id && this.Name == e.Name; } public override int GetHashCode() { return this.Id.GetHashCode() * 100 + this.Name.GetHashCode(); } }
public static void Test() { var hashSetData = new HashSet<Student>(); hashSetData.Add(new Student { Id = "001", Name = "张三" }); hashSetData.Add(new Student { Id = "002", Name = "李四" }); hashSetData.Add(new Student { Id = "001", Name = "张三" }); hashSetData.Add(new Student { Id = "003", Name = "张三" }); foreach (var item in hashSetData) { Console.WriteLine("Id:{0},Name:{1}", item.Id, item.Name); } }
相关文章推荐
- C# 开发Windows服务 附简单实例实现禁止QQ运行
- 如何自动拼接 Update语句,仅Update已修改的字段
- 深入C#判断操作系统类型的总结详解(转载)
- C# PInvoke(DllImport使用) 进阶教程(一)转
- C#接口的作用
- c#扩展方法的使用
- c#扩展方法的使用
- C#编译程序开头namespace
- C#和java混合编程
- c#中取整,向上取,向下取
- C# WebService发布以及IIS发布
- C# 不重复的随机数
- form onsubmit调用C# MVC Controller
- C#读写二进制文件
- C#中DataGridView控件使用大全
- c#学习——判断字符为非法字符
- C# 窗体位置 Show和ShowDialog(转)
- C# 非模式窗体show()和模式窗体showdialog()的区别(转)
- C# 常用公共方法
- C#.NET 图片水印添加代码