Proč vidíme rozhraní IEnumerable, možná si myslíme, že je úžasné, v obecném programování si ho vlastně nemůžeme představit použít, ale jak se říká, existence je pravda, tak jaké úžasné věci nám může přinést? Abychom to pochopili, pojďme se podívat na jeho definici! Na MSDN, jak se říká, je to veřejné enum, které podporuje jednoduché iterace na negenerických kolekcích. Jinými slovy, pro všechna procházení polí z IEnumerable můžeme tuto vlastnost použít k definování společné metody, která může procházet pole. Například: public static void Print(IEnumerable myList) { int i = 0; foreach (objektový objekt v myList) { pokud (obj je Student)// Toto je hodnocení typu, kde student je třída nebo struktura { Student s=(Student)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } pokud (obj je int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Výše můžeme provést více úsudků if ve foreach pro provedení odpovídajících operací. Další využití IEnumerable je v obecných oblastech. Dotazování v poli s lamda výrazem probíhá následovně: <string> Seznam ovoce = nový seznam<string> { "apple", "passionfruit", "banana", "mango", "pomerančová", "borůvková", "hroznova", "jahodová" }; Dotaz na seznam<string> = ovoce. Kde(ovoce => ovoce. Délka < 6). ToList(); <string> IEnumerable query = ovoce. Kde(ovoce => ovoce. délka < 6); foreach (string fruit v dotazu) Console.WriteLine (ovoce); Co se týče výše uvedených dvou příkladů, myslím, že se stále často používají v běžném programování, můžeme to zkusit... |