Das yield-Schlüsselwort in C#

Muhammad Maisam Abbas 11 Dezember 2023
Das yield-Schlüsselwort in C#

In diesem Tutorial werden die Verwendungszwecke des Yield-Schlüsselworts in C# erläutert.

Das Schlüsselwort Ausbeute in C#

Das Schlüsselwort yield ist ein kontextbezogenes Schlüsselwort in C#. Es wird mit dem Schlüsselwort return verwendet, um anzugeben, dass die Methode, in der es verwendet wird, ein Iterator ist. Das Schlüsselwort yield wird am besten verwendet, wenn wir eine Liste durchlaufen. Mit dem Schlüsselwort yield können wir eine Liste durchlaufen und ein Element aus der Liste an die aufrufende Funktion zurückgeben. Anschließend können wir zur Schleife zurückkehren und sie ab dem nächsten Index starten. Das Schlüsselwort yield gibt ein Objekt der Klasse IEnumerator zurück. Der Rückgabetyp der Funktion, die das Schlüsselwort yield verwendet, muss also IEnumerator sein. Das folgende Codebeispiel zeigt uns, wie wir das Schlüsselwort yield in C# verwenden können.

using System;
using System.Collections.Generic;

namespace yield_keyword {
  class Program {
    static IEnumerable<string> Strings() {
      List<string> Values = new List<string> { "value1", "value2", "value3", "value4" };
      foreach (var val in Values) {
        yield return val;
      }
    }
    static void Main(string[] args) {
      foreach (var i in Strings()) {
        Console.WriteLine(i);
      }
    }
  }
}

Ausgabe:

value1
value2
value3
value4

Wir haben eine Funktion Strings() erstellt, die Elemente der Liste der Strings Values mit dem Schlüsselwort yield in C# zurückgibt. Das Schlüsselwort yield greift auf einen Wert aus der Liste Values zu, gibt ihn an die aufrufende Funktion zurück und setzt die Schleife ab der nächsten Iteration fort, wenn die Funktion Strings() erneut aufgerufen wird.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp Keyword