Warum sehen wir die IEnumerable-Schnittstelle? Wir mögen sie für erstaunlich halten, im allgemeinen Programmieren können wir uns nicht vorstellen, sie zu nutzen, aber wie man sagt: Existenz ist die Wahrheit, also was für wunderbare Dinge kann sie uns bringen? Um es zu verstehen, werfen wir einen Blick auf seine Definition! Auf MSDN, wie es heißt, ist es ein öffentliches Enum, das einfache Iterationen bei nicht-generischen Sammlungen unterstützt. Mit anderen Worten: Für alle Array-Durchläufe aus IEnumerable können wir diese Funktion nutzen, um eine gemeinsame Methode zu definieren, die Arrays durchlaufen kann. Zum Beispiel: öffentliches statisches Void Drucken (IEnumerable myList) { int i = 0; foreach (Objekt obj in myList) { wenn (obj ist Student)// Dies ist das Urteil des Typs, wobei der Student eine Klasse oder Struktur ist { Student s=(Student)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } wenn (obj ist int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Oben können wir mehrere if-Urteile in für jeweils durchführen, um entsprechende Operationen durchzuführen. Eine weitere Verwendung von IEnumerable ist in den Generiken. Das Abfragen in einem Array mit einem Lamda-Ausdruck erfolgt wie folgt: <string> Listen der Früchte = neue Liste<string> { "Apfel", "Passionsfrucht", "Banane", "Mango", "Orange", "Blaubeere", "Traube", "Erdbeere" }; <string> Listenanfrage = Früchte. Wobei (Frucht => Frucht. Länge < 6). ToList(); IEnumerable<string> Query = Früchte. Wobei (Frucht => Frucht. Länge < 6); foreach (String Fruit in der Abfrage) Console.WriteLine (Frucht); Was die oben genannten beiden Beispiele angeht, denke ich, dass sie immer noch häufig in der gewöhnlichen Programmierung verwendet werden, wir können es genauso gut versuchen... |