Linq 和 list集合 去除重複項

2021-06-09 03:37:05 字數 1491 閱讀 7977

方法一:

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的特性進行去重又不打亂順序呢?試了一下,...