Ich übersehe hier eindeutig etwas... Ich habe eine allgemeine Liste von Objekten und ich versuche, einen Lambda-Ausdruck zu verwenden, um Elemente zu entfernen. Wenn ich den unten geposteten Code verwende, erhalte ich die folgende Ausnahme.
System.InvalidOperationException: Sequenz enthält kein passendes Element
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);
}
}
Mache ich einen Fehler, wenn ich ein Lambda verwende?
[EDIT] Nun ein Flop für die erste Frage. Ich habe den Stack-Trace falsch gelesen, nachdem ich das Element in meinem Unit-Test entfernt hatte, habe ich versucht, die Get()-Methode aufzurufen, und in meiner "warum ist es schon dunkel draußen"-Wut habe ich vorschnell eine Frage ohne angemessene Analyse gestellt. Entschuldigung.
1 Stimmen
Sie müssen mehr Code posten...der Code, den Sie gepostet haben, würde diese Ausnahme nicht verursachen....