DataTable,List去重覆記錄的方法

2021-09-05 22:23:14 字數 617 閱讀 2269

今天一位朋友問如何去掉datatable裡重複的記錄(datatable是別人返回過來的,不能再重新查詢資料庫,所以無法用sql中的select distinct ***處理,只能在datatable上動腦筋) 

思路:將datatable轉成ienumerable,然後就能呼叫distinct方法了

using

system.collections.generic; 

using

system.linq; 

using

system.data; 

using

system; 

namespace

class

program 

console.readline(); 

} } 

class

citycomparer : iequalitycomparer 

<

datarow

>

public

intgethashcode(datarow obj)  } 

上面的**,將datatable中"城市名"重複的記錄去掉了,以上**同樣適用於list(只要改下"比較器"即可)

count去重和distinct去重

有兩種去重方法 1 select count distinct id from a 這個是將所有值都放入到記憶體中,key為列值,通過hash算出有多少個key就是多少行。2 select count 1 from select 1 from a group by id a,這個是通過group b...

JS陣列去重,物件去重

例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...

lambda 物件去重 lambda去重

lambda去重使用collectingandthen方法 list 物件中,如果根據object的單個屬性進行過濾去重,則 list userlist users.stream collect collectors.collectingandthen collectors.tocollection...