我很明顯缺少這裏的東西......我有一個通用的對象列表,我試圖使用lambda表達式來刪除項目。當我使用下面發佈的代碼時,我得到以下例外。通用列表RemoveAll和lambda表達式
System.InvalidOperationException:序列不包含任何匹配的元素
public class MyObject {
public Guid ID1 {get;set;}
public int ID2 {get;set;}
}
public class MyContainer{
List<MyObject> myList = new List<MyObject>();
public MyObject Get(Guid id1) {
return myList.Single(mo => mo.ID1 == id1);
}
public void AddItem(MyObject item) {
myList.Add(item);
}
public int RemoveItems(MyObject item) {
return myList.RemoveAll(mo => mo.ID1 == item.ID1 || mo.ID2 == item.ID2);
}
}
我是不是用一種拉姆達的錯誤呢?
[編輯] 那麼第一個問題的翻牌。在我的單元測試中刪除項目後,我誤讀了堆棧跟蹤,我嘗試調用Get()方法,並在「爲什麼已經黑暗」的情況下憤怒跳過槍發佈沒有適當分析的問題。抱歉。
您需要發佈更多的代碼...您發佈的代碼不會導致該異常.... –