第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從另一個列表中刪除項目

從另一個列表中刪除項目

交互式愛情 2019-10-17 14:44:06
我試圖弄清楚如何遍歷要從另一個項目列表中刪除的項目的一般列表。假設我有一個假設的例子List<car> list1 = GetTheList();List<car> list2 = GetSomeOtherList();我想用一個foreach遍歷list1并刪除List2中也包含的List1中的每個項目。我不太確定該怎么做,因為foreach不是基于索引的。
查看完整描述

3 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

您可以使用Except:


List<car> list1 = GetTheList();

List<car> list2 = GetSomeOtherList();

List<car> result = list2.Except(list1).ToList();

您甚至可能不需要這些臨時變量:


List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();

請注意,Except這不會修改任何一個列表-它會使用結果創(chuàng)建一個新列表。


查看完整回答
反對 回復 2019-10-17
?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

您不需要索引,因為List<T>該類允許您通過值而不是通過使用Remove函數(shù)來刪除項。


foreach(car item in list1) list2.Remove(item);


查看完整回答
反對 回復 2019-10-17
?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

在我的情況下,我有兩個不同的列表,具有相同的標識符,有點像外鍵?!?nzrytmn”引用的第二個解決方案:


var result =  list1.Where(p => !list2.Any(x => x.ID == p.ID && x.property1 == p.property1)).ToList();

是最適合我的情況的一種。我需要加載沒有已注冊記錄的DropDownList。


謝謝 ?。。?/p>


這是我的代碼:


t1 = new T1();

t2 = new T2();


List<T1> list1 = t1.getList();

List<T2> list2 = t2.getList();


ddlT3.DataSource= list2.Where(s => !list1.Any(p => p.Id == s.ID)).ToList();

ddlT3.DataTextField = "AnyThing";

ddlT3.DataValueField = "IdAnyThing";

ddlT3.DataBind();


查看完整回答
反對 回復 2019-10-17
  • 3 回答
  • 0 關注
  • 424 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號