6.4 Auf einem nicht-generischen Typ einen Iterator erzeugen
Problem
Sie möchten, dass die Elemente in Ihrem nicht-generischen Typ über eine foreach
-Anweisung enumeriert werden können.
Lösung
Fügen Sie Ihrem nicht-generischen Typ einen Iterator hinzu, wie Sie es hier sehen:
public class NGShoppingList { public NGShoppingList() {} private List<string> _items = new List<string>(); public void AddItem(string item) { _items.Add(item); } public IEnumerator<string> GetEnumerator() { for (int index = 0; index < _items.Count; index++) { yield return (_items[index]); } } }
Der folgende Code erzeugt ein neues NGShoppingList
-Objekt und füllt es mit Strings. Dann verwendet er eine foreach
-Schleife, um alle Strings zu enumerieren und anzuzeigen:
public static void ...
Get C# Kochbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.