C# Language Évaluation avide


Exemple

Le mot-clé de yield permet une évaluation paresseuse de la collection. Le chargement forcé de toute la collection en mémoire est appelé évaluation rapide .

Le code suivant montre ceci:

IEnumerable<int> myMethod()
{
    for(int i=0; i <= 8675309; i++)
    {
        yield return i;
    }
}
...
// define the iterator
var it = myMethod.Take(3);
// force its immediate evaluation
// list will contain 0, 1, 2
var list = it.ToList();

L'appel de ToList , ToDictionary ou ToArray force l'évaluation immédiate de l'énumération, en récupérant tous les éléments dans une collection.