lzth.net
当前位置:首页 >> C#中 list<oBjECt> 去除重复的数据 求最简单的方法!! >>

C#中 list<oBjECt> 去除重复的数据 求最简单的方法!!

//导入linq命名空间, 然后distinct一下就可以了. 关键代码如下:using System.Linq;//比如,list实例为list var obj = list.Distinct();//或者麻烦点要根据list的字段xxx过滤就是 var obj_1=from p in list select p.xxx distinct();

例1:List list=new List(); //一个数据集合for(int i=0; i 评论0 0 0

那个是引用类型的问题,ArrayList.Contains(object)里面的object比较的是引用(就像是一个指针),object的引用要指向的实际值一致才返回true. 要比较对像的实际值要用Equals(object),当然,在你的对像里重载Equals(object)函数,例如:

写一个去重复函数,这个函数的过程就是创建一个新的list然后循环读入原来list的数据,只插入不重复的数据,然后返回整个新list

你用的是list 吧?试试这个IList<int> nlist = list.Distinct().ToList();

一个对象怎样算重复?需要自己实现hashCode()和equals()方法来申明两个对象'相等'的判断条件最简单的就是一个或多个成员变量的值相等(比如id,name)等,就认为这两个对象相等.在这种情况下,就好办了Set set = new HashSet(

以下代码有点琐碎,不过很明了List<WordInfo> list = new List<WordInfo>();WordInfo temp;for (int i = 0; i < 10; i++){ temp = new WordInfo(); temp.word = "word"; temp.flag = i; list.Add(temp);}for (int i = 0; i < 10; i++){ temp = new WordInfo(); temp.

c#怎样消除一个list里面重复的元素你用的是list 吧?试试这个IList nlist = list.Distinct().ToList();

把button6_Click(null,null);去掉

使用 list.distinct()函数如果是自定对象的话要实现IEqualityComparer<T> 举个例子public class FishComPare : IEqualityComparer<Fish> { public bool Equals(Fish x, Fish y) { return x.Name == y.Name && x.ID==y.ID; } public int GetHashCode(Fish obj) { return obj.Name.GetHashCode(); } }

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com