Skip to content

DE CSharp Iterators

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Iteratoren, Yield und asynchrone Sequenzen

Handbuch C# · Beispiele UO

Die Methode mit yield return gibt die Elemente so an, wie sie aufgezählt sind, yield break vervollständigt die Sequenz. Sein Körper beginnt normalerweise nicht beim Erstellen einer Sequenz, sondern beim Aufzählen zu arbeiten. IAsyncEnumerable<T> unterstützt den asynchronen Empfang von Elementen über await foreach.

Einfaches Beispiel (Example.cs)

Speichern Sie dieses Beispiel separat als Example.cs. Führen Sie es unabhängig von den anderen Beispielen dieser Seite aus.

Example.cs:

// PROJECT-EXAMPLE
System.Collections.Generic.IEnumerable<int> Numbers()
{
    yield return 1;
    yield return 2;
}
foreach (int value in Numbers()) System.Console.WriteLine(value);

Ergebnis:

1
2
IEnumerable<int> Range(int count)
{
    for (int i = 0; i < count; i++) yield return i;
}
foreach (int value in Range(3))
{
    UO.Print(value.ToString());
}
async IAsyncEnumerable<int> Ticks()
{
    for (int i = 0; i < 3; i++)
    {
        await WaitAsync(10);
        yield return i;
    }
}
await foreach (int tick in Ticks())
{
    UO.Print($"Tick={tick}");
}

Geben Sie keine Sequenz außerhalb des aktiven Skripts zurück, die später auf ihr abspielbares API zugreift. Beim Aufzählen können sich die Quelldaten bereits geändert haben; ToArray nimmt das Foto auf.

Offizielle Dokumentation: Iteratoren, Yield und asynchrone Sequenzen – Microsoft Learn.

Clone this wiki locally