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

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

使用 LINQ 刪除 List<object> 中的項目,其中 List<string> 中存在屬性

使用 LINQ 刪除 List<object> 中的項目,其中 List<string> 中存在屬性

C#
函數(shù)式編程 2022-10-23 10:19:20
這個問題與這個問題非常相似: Use LINQ to get items in a List<>, that are not in another List<>。但是這些差異足以讓我無法確定 LINQ 語法。我有兩個清單:List<Fubar> fewBarNewList<string> existingProviderIDs哪里Fubar看起來像:Class Fubar{    int FunbarId int {get; set;}    ....    ....    string ProviderID {get; set;}}現(xiàn)在,我想從內(nèi)部存在的fewBarNew任何實例中刪除.FewBarNew.ProviderIDexistingProviderIDs fewBarNew = fewBarNew.Where(f => !existingProviderIdList.Any(ep => ?????).ToList();
查看完整描述

1 回答

?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

Any 使您能夠檢查集合中的任何項目是否與某個謂詞匹配。因此,您可以將謂詞定義為“如果任何項目與當(dāng)前項目匹配”:

fewBarNew.Where(f => !existingProviderIdList.Any(ep => ep == f.ProviderID));

但是,我認為更清潔的方法是使用.Contains

var result = fewBarNew.Where(f => !existingProviderIDs.Contains(f.ProviderID));

然后,當(dāng)它執(zhí)行時,O(n^2)您可以改用 aHashSet<string>來改進:

var existingProviderIDSet = new HashSet<string>(existingProviderIDs);
var result = fewBarNew.Where(f => !existingProviderIDSet.Contains(f.ProviderID));

當(dāng)HashSet'Contains執(zhí)行一個O(1)操作時,這將在 中執(zhí)行O(n)。


查看完整回答
反對 回復(fù) 2022-10-23
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號