Looking for c# Keywords? Try Ask4Keywords

C# LanguageErgebnis Keyword


Einführung

Wenn Sie das Ertragsschlüsselwort in einer Anweisung verwenden, geben Sie an, dass die Methode, der Operator oder der Accessor, in dem es angezeigt wird, ein Iterator sind. Durch die Verwendung von Yield zur Definition eines Iterators wird keine explizite zusätzliche Klasse benötigt (die Klasse, die den Status für eine Aufzählung enthält), wenn Sie das IEnumerable- und das IEnumerator-Muster für einen benutzerdefinierten Auflistungstyp implementieren.

Syntax

  • Rendite Rendite [TYP]
  • Rendite brechen

Bemerkungen

Setzt man die yield Schlüsselwort in einem Verfahren mit dem Rückgabetyp IEnumerable , IEnumerable<T> , IEnumerator oder IEnumerator<T> weist den Compiler eine Implementierung des Rückgabetypen (zu generieren IEnumerable oder IEnumerator ) , die, wenn geschlungen über läuft die Methode bis zu jeder "Ausbeute", um jedes Ergebnis zu erhalten.

Die yield Schlüsselwort ist nützlich , wenn Sie „das nächste“ Element einer theoretisch unbegrenzten Sequenz zurückkehren wollen, so die gesamte Sequenz Berechnung vorher unmöglich wären, oder wenn die vollständige Sequenz von Werten vor der Rückkehr in der Berechnung für den Benutzer zu einer unerwünschten Pause führen würden .

yield break kann auch verwendet werden, um die Sequenz jederzeit zu beenden.

Da für das yield Schlüsselwort ein Iterator-Schnittstellentyp als Rückgabetyp erforderlich ist, z. B. IEnumerable<T> , können Sie dies nicht in einer asynchronen Methode verwenden, da dies ein Task<IEnumerable<T>> -Objekt Task<IEnumerable<T>> .

Lesen Sie weiter

Ergebnis Keyword Verwandte Beispiele