Waarom zien we de IEnumerable interface, we kunnen het geweldig vinden, in het algemeen kunnen we er eigenlijk niet aan denken om het te gebruiken, maar zoals het gezegde luidt, bestaan is de waarheid, dus wat voor prachtige dingen kan het ons brengen? Om het te begrijpen, laten we eens kijken naar de definitie ervan! Op MSDN, zoals gezegd, is het een openbaar enum dat eenvoudige iteraties ondersteunt op niet-generieke collecties. Met andere woorden, voor alle arraytraversalen kunnen we vanuit IEnumerable deze functie gebruiken om een veelgebruikte methode te definiëren die arrays kan doorlopen. Bijvoorbeeld: publieke statische leegte Print(IEnumerable myList) { int i = 0; foreach (Object obj in myList) { als (obj is Student)// Dit is het oordeel van type, waarbij de student een klasse of structuur is { Student s=(Student)doel; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } als (obj is int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Hierboven kunnen we meerdere if-oordelen in voor elke uitvoeren om overeenkomstige bewerkingen uit te voeren. Een ander gebruik van IEnumerable is in generieke beurten. Het queryen in een array met een lamda-expressie is als volgt: Lijst<string> van fruit = nieuwe lijst<string> { "appel", "passievrucht", "banaan", "mango", "sinaasappel", "blauwe bes", "druif", "aardbei" }; Lijstquery<string> = fruit. Waar(fruit => fruit. Lengte < 6). ToList(); IEnumerable<string> query = fruits. Waar(fruit => fruit. Lengte < 6); foreach (string fruit in query) Console.WriteLine (fruit); Wat betreft de bovenstaande twee voorbeelden, denk ik dat ze nog steeds vaak worden gebruikt in gewone programmering, we kunnen het net zo goed proberen... |