À quoi sert le mot-clé yield en C# ?
À quoi sert le mot-clé yield en C# ?
À quoi sert le mot-clé yield en C# ?
Re: À quoi sert le mot-clé yield en C# ?
Le mot-clé contextuel `yield` fait en réalité beaucoup de choses ici.
La fonction renvoie un objet qui implémente l'interface `IEnumerable`. Si une fonction appelante commence à parcourir cet objet avec `foreach`, la fonction est rappelée jusqu'à ce qu'elle "cède". C'est du sucre syntaxique introduit dans **C# 2.0**. Dans les versions antérieures, il fallait créer ses propres objets `IEnumerable` et `IEnumerator` pour faire ce genre de choses.
La façon la plus simple de comprendre un tel code est de taper un exemple, de placer des points d'arrêt et de voir ce qui se passe. Essayez de parcourir pas à pas cet exemple :
```
public void Consumer()
{
for
La fonction renvoie un objet qui implémente l'interface `IEnumerable`. Si une fonction appelante commence à parcourir cet objet avec `foreach`, la fonction est rappelée jusqu'à ce qu'elle "cède". C'est du sucre syntaxique introduit dans **C# 2.0**. Dans les versions antérieures, il fallait créer ses propres objets `IEnumerable` et `IEnumerator` pour faire ce genre de choses.
La façon la plus simple de comprendre un tel code est de taper un exemple, de placer des points d'arrêt et de voir ce qui se passe. Essayez de parcourir pas à pas cet exemple :
```
public void Consumer()
{
for