您好我正在嘗試使用Linq從列表中刪除「所有」實體。Linq刪除所有語句的結果
問題:我正在搜索在我的數據庫中擁有特定證書的用戶。事情是,它將逐行返回....但我需要檢查的是:如果用戶持有所有必需的證書。這應該檢查我的int數組。
這是我的數組:[3,5,16],現在我想刪除沒有列表中所有三個用戶的所有用戶。代碼中的數組名稱爲必填!
我得到的listItems中回看起來像這樣
listitem.CertificateValue
listitem.Uid
listitem.NameOfPerson
所以basicly這個例子彼得三行在列表中,在此保留所有需要留在列表中的行。但是菲利普只有2行,因此他們都沒有填滿整個搜索條件,所以應該刪除這兩行。
另外copyOfMandatoryis只是爲了不要亂用原始集合,並導致預期(集合大小已更改)。
foreach (var item in copyOfMandatory)
{
if (!mandatoryusers.All(i => mandatory.Contains(i.CertificateValue)
|| i.Uid == item.Uid))
{
mandatoryusers.RemoveAll(i => i.Uid == item.Uid);
}
}
UPDATE removeall過就像一個魅力它是否如預期般不工作陳述。
這樣做不帶走列表中的任何一部分,我開始室內用& &,而不是||但是隻要滿足搜索標準,它就會殺死所有的東西,而不是最後遇到的人。
任何人都有關於如何做到這一點的提示?
是必需的證書數組,即'[3,5,16]''是否必須? –
對不起,不好意思! – 8bitcat