Bonjour,
Quelles est l'explication des résultats différents pour les 2 bouts de code suivants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 string[] colors = {"green","brown","blue","red" }; var list = new List<string>(colors); IEnumerable<string> query = list.Where(c => c.Length == 3); list.Remove("red"); int i = query.Count(); // i = 0Dans le 1er cas est ce que l'objet query pointe sur l'objet list c'est la raison pour la quelle la suppression d'un élément influe sur le résultat, ou est ce que l'execution de la requête de recherche n'a eu lieu qu'au moment du count?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 string[] colors = {"green","brown","blue","red" }; var list = new List<string>(colors); IEnumerable<string> query = list.Where(c => c.Length == 3).ToList(); list.Remove("red"); int i = query.Count(); // i = 1
Merci d'avance,
Partager