capypad
0 Tage Serie
csharp / intermediate
Snippet

Verzögerte Ausführung mit 'yield return'

Die 'yield return'-Anweisung gibt an, dass die Methode ein Iterator ist. Sie liefert einen Wert an den Enumerator, ohne die gesamte Sammlung sofort im Speicher zu erstellen, was eine effiziente Verarbeitung großer Datenmengen ermöglicht.

snippet.csharp
csharp
1
2
3
4
5
6
7
public IEnumerable<int> GetEvenNumbers(int max)
{
for (int i = 0; i <= max; i++)
{
if (i % 2 == 0) yield return i;
}
}
Erklärung
1
IEnumerable<int>
Der Rückgabetyp muss ein Interface sein, das Iteration unterstützt, wie z.B. IEnumerable.
2
yield return i
Gibt den aktuellen Wert zurück und pausiert die Methodenausführung, bis das nächste Element vom Aufrufer angefordert wird.