Utilisation d'expression lamda avec IEnumerable
Bonjour,
Quelles est l'explication des résultats différents pour les 2 bouts de code suivants:
Code:
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 = 0 |
Code:
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 |
Dans 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?
Merci d'avance,