C 兩個物件集合常用lambda操作

2021-10-23 14:49:39 字數 2321 閱讀 9044

定義物件

public

class

data_item

public

int qty

}

定義集合

//資料來源list

private

static

list

a_list =

newlist()

;private

static

list

b_list =

newlist()

;//臨時list

private

static

list

merge_list =

newlist()

;private

static

list

atemp_list =

newlist()

;private

static

list

btemp_list =

newlist()

;

1、合併集合(兩不相同)

merge_list = a_list.

concat

(b_list)

.tolist()

;

2、合併集合並去除重複項(並集)

merge_list = a_list.

concat

(b_list.

where

(a =>

!a_list.

exists

(b => b.lot_id == a.lot_id && b.qty == a.qty)))

.tolist()

;

3、集合比對(找出各自不相同的 差集)

atemp_list = a_list.

where

(a =>

!b_list.

exists

(b => b.lot_id == a.lot_id && b.qty == a.qty)).

tolist()

;btemp_list = b_list.

where

(a =>

!a_list.

exists

(b => b.lot_id == a.lot_id && b.qty == a.qty)).

tolist()

;

4、集合共有的部分(交集)

merge_list = a_list.

where

(a => b_list.

exists

(b => b.lot_id == a.lot_id && b.qty == a.qty)).

tolist()

;

補:

list lista = new list();

list listb = new list();

list listresult = new list();

listresult = lista.distinct().tolist();//去重

listresult = lista.except(listb).tolist();//差集

listresult= lista.union(listb).tolist(); //並集

listresult = lista.intersect(listb).tolist();//交集

//lambda多條件查詢 where連線select

var num = removedata_list.tolist().max(p => convert.toint32(p.time_day));

list c_status = removedata_list.where(p => p.time_day == num.tostring()).tolist().select(p => p.status).tolist();

c.status = c_status[0];

string dn_no = rptdatas.select(o => o.dn_no).distinct().tolist().where(it => it != 「」).toarray();

add 20210807

擷取特定符號之前的資料

for

(int

i =0; i < tres_list.count; i++

)

日常用到,遂記錄,自用。

C 合併兩個(多個)集合

合併兩個集合 使用語言 c 環境 net core 2.0 當前使用 支援 net 所有環境,我就不多說了 核心 listlistmerge1 list1.union list2 tolist 不允許有重複項 listmerge1 結果 listlistmerge2 list1.concat lis...

兩個集合的差

題目出自杭電hdu 集合的差 以屬於a而不屬於b的元素為元素的集合稱為a與b的差集,即找出a中有的,而b中沒的。思路 1.對輸入的a,b集合進行集合內排序.2.a的元素a1依次與b中比a小的元素比較。3.若b中沒有元素與a1相等,則累加標記變數f,並把a1輸出.4.進行a1元素的下乙個元素a2與b中...

Java集合HashSet中的兩個物件怎樣算重複

集合hashset中物件的特點是無序 不允許重複。無序好理解,那麼兩個什麼樣的物件算重複呢?兩個物件重複意味著這兩個物件的內容相同 hashcode 值也相同。1 兩個物件a和b內容相同,表示a.equals b 的值為true。不重寫的話,預設equals 方法是呼叫 進行判斷的,判斷的是兩個物件...