Heim >Backend-Entwicklung >C++ >Wie verbessert das Schlüsselwort „yield' die Iteration und Speicherverwaltung in C#?
Die wunderbare Verwendung des Schlüsselworts yield
in C#: Iteration und Speicherverwaltung
In C# ist das Schlüsselwort yield
der Schlüssel zum Erstellen von Iteratoren und Generatoren. Lassen Sie uns seine Funktionalität verstehen, indem wir den Codeausschnitt aus der Frage analysieren:
<code class="language-csharp">IEnumerable<object> FilteredList() { foreach(object item in FullList) { if(IsItemInPartialList(item)) yield return item; } }</code>
In diesem Zusammenhang ist die Funktion des Schlüsselworts yield
vielfältig:
yield
ermöglicht der FilteredList
-Methode, ein Iterator zu werden. Iteratoren bieten einen benutzerdefinierten Iterationsmechanismus, der es Methoden ermöglicht, Werte einzeln zu erzeugen, anstatt die gesamte Sammlung auf einmal zurückzugeben. foreach
die Lazy Evaluation. Wenn die Methode iteriert wird, „gibt“ sie jedes Element zurück, das die Kriterien erfüllt, und löst so die gekapselte Logik aus, um zu bestimmen, ob es in die Teilliste aufgenommen werden soll. yield
yield
yield
<code class="language-csharp">public IEnumerable<int> Integers() { yield return 1; yield return 2; yield return 4; yield return 8; yield return 16; yield return 16777216; }</code>-Anweisung die nächste Ganzzahl, wodurch eine übermäßige Speicherzuweisung wirksam verhindert wird.
yield
yield
Das obige ist der detaillierte Inhalt vonWie verbessert das Schlüsselwort „yield' die Iteration und Speicherverwaltung in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!