Skip to content

DE CSharp Keyword yield

Codex edited this page Oct 11, 2026 · 2 revisions

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

C#: yield

Handbuch C# · Praktischer Leitfaden

Erstellt eine Iteratormethode: yield return gibt das nächste Element aus; yield break beendet die Sequenz. Der Code wird während der Iteration ausgeführt.

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

Syntax

yield return expression; / yield break;

Beispiel 1: Grundform

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        foreach (int value in Sequences.Count(3)) Console.WriteLine(value);
    }
}
public static class Sequences { public static IEnumerable<int> Count(int count) { for (int i = 0; i < count; i++) yield return i; yield break; } }

Beispiel 2: eine weitere praktische Form

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        await foreach (int value in Sequences.CountAsync(3)) Console.WriteLine(value);
    }
}
public static class Sequences { public static async IAsyncEnumerable<int> CountAsync(int count) { for (int i = 0; i < count; i++) { await Task.Delay(1); yield return i; } } }

Offizielle Quelle: Microsoft Learn.

Clone this wiki locally