Repository navigation
DE CSharp Iterators
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
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.
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.
ClassicUO — Bad Newbie & C# Scripts IDE