yield return Iterator vs. Rückgabe einer List<T>: was eine IEnumerable-Methode in C# wirklich kostet
Eine yield-return-Methode kostet pro Aufruf ein 40 Byte großes Zustandsautomat-Objekt, unabhängig von der Anzahl der Elemente; eine List<T> kostet sofort das gesamte Backing-Array. Gemessen auf .NET 10.0.10: Der Iterator gewinnt bei Speicher und vorzeitigem Abbruch, List<T> gewinnt, wenn der Aufrufer mehrfach aufzählt, Count braucht oder ToList() aufruft.