possible en double:
Collection was modified; enumeration operation may not execute - why?La collection a été modifiée; l'opération d'énumération ne peut pas exécuter
Tout d'abord, je crois que ce n'est pas une double question, que le contexte traite ici des méthodes d'extension. Je reçois cette exception lorsque je déplace des éléments d'une liste à une autre via une méthode Extension, et je suis un peu confus parce que la liste dont je supprime des éléments n'est pas la liste que je suis en train d'itérer.
Par exemple, la méthode d'extension au minimum ressemblerait à ceci:
public static void MoveItemsTo(this IList source, IList target, IList items)
{
foreach (var item in items) {
target.Add(item);
source.Remove(item);
}
}
Ceci est la méthode est alors appelé comme ceci:
myCollectionOne.MoveItemsTo(myCollectionTwo, itemsToMove);
Je ne reçois que l'erreur si je tente de supprimer l'élément de la liste source ... C'est un peu déroutant que la méthode itère sur une liste différente. Quelque chose doit se passer dans les coulisses que je ne connais pas ...
il est une méthode d'extension ne fait aucune différence que ce soit ... –
Quels sont les trois arguments dans un exemple qui montre cela? –
Quelle erreur? Quelle exception? –