這是從列表中刪除符合某些條件的項目,然後獲取這些項目的最簡單方法。LINQ:RemoveAll並獲取元素
我能想到的幾種方法,我不知道這是最好的一個:
var subList = list.Where(x => x.Condition);
list.RemoveAll(x => x.Condition);
或
var subList = list.Where(x => x.Condition);
list.RemoveAll(x => subList.Contains(x));
是任何這一個最好的方法嗎?如果是,哪一個?如果不是,我該怎麼做?
它實際上是爲O(n^3),但我假設缺乏物化的下滑只是你的心;) – Blindy 2012-04-16 17:10:16
這些項目(如我寫的那樣)是否會通過第二條指令從subList中刪除? :O – Diego 2012-04-16 17:11:49
呃你永遠不會從'子列表'中刪除,如果我正確地閱讀它,你也不打算這樣做。 – Blindy 2012-04-16 17:13:56