Il me manque clairement quelque chose ici ... J'ai une liste générique d'objets et j'essaie d'utiliser une expression lambda pour supprimer des éléments. Lorsque j'utilise le code affiché ci-dessous, je reçois l'exception suivante.Generic List EnleverAll expressions et lambda
System.InvalidOperationException: séquence ne contient aucun élément correspondant
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);
}
}
Suis-je fait une erreur en utilisant un lambda?
[EDIT] Eh bien, un flop pour la première question. J'ai mal lu la trace de la pile, après avoir enlevé l'élément dans mon test unitaire j'ai essayé d'appeler la méthode Get() et dans mon "pourquoi est-ce déjà sombre" rage a sauté l'arme en postant une question sans analyse appropriée. Pardon.
Vous devez poster plus de code ... le code que vous avez posté ne causerait pas cette exception .... –