方法一:
iqueryablelistnotice = (from news in base.cabindata.newscontents where news.flag == 1 select news).distinct();
此種去除方法弊端:只要物件中有重複的字段都會去除,會比對物件中所有的字段。
方法二:
把linq查詢結果轉成list物件集合,再過濾去除重複項
listlist = (from news in base.cabindata.newscontents where news.flag == 1 select news).distinct();
list//去除重複項
public class item_collection_distinctby_item1 : iequalitycomparerint iequalitycomparer
}終於弄出來了,和大家分享!
謝謝3樓的那位兄弟。
c# code
using
system;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
);
list.add(
newitem );
list.add(
newitem );
list.add(
newitem );
list.add(
newitem );
list
<
item
>
temp
=list.distinct(
newitem_collection_distinctby_item1()).tolist();
foreach
(var
item
intemp)
console.read();}}
class
item
public
string
item2
public
double
item3
public
intitem4
public
override
string
tostring()
,item2:,item3:,item4:
", item1, item2, item3,item4);}}
class
item_collection_distinctby_item1 : iequalitycomparer
<
item
>
else
}public
intgethashcode(item obj)
} }
list集合去除重複物件
物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,就需要在物件的實體類裡面重寫public boolean equals object obj 和 public int ha...
list集合列表去除重複的資料
public static void main string args arraylist list new arraylist for int i 0 i ar.length i system.out.println 執行前 for int i 0 i list.size i system.out...
去除List集合中的重複值
最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另乙個list集合,一種是用賦給set集合再返回給list集合。但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序呢?試了一下,...