Dlaczego widzimy interfejs IEnumerable? Możemy uważać go za niesamowity, w programowaniu generalnie nie możemy go użyć, ale jak mówi przysłowie, istnienie jest prawdą, więc jakie cudowne rzeczy może nam przynieść? Aby to zrozumieć, przyjrzyjmy się jej definicji! Na MSDN, jak się mówi, jest to publiczne enum, które obsługuje proste iteracje na kolekcjach niegenerycznych. Innymi słowy, dla wszystkich przejść tablic, z IEnumerable, możemy użyć tej cechy do zdefiniowania wspólnej metody przeszukiwania tablic. Na przykład: public static void Print(IEnumerable myList) { int i = 0; foreach (obiekt w myList) { jeśli (obj to Student)// To jest ocena typu, gdzie student jest klasą lub strukturą { Student s=(Student)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } jeśli (obj to int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Powyżej możemy wykonać wiele osądów if w foreach, aby wykonać odpowiadające im operacje. Innym zastosowaniem IEnumerable jest ogólność. Zapytanie w tablicy z wyrażeniem lamda wygląda następująco: <string> Owoce z listy = nowa lista<string> { "apple", "passionfruit", "banana", "mango", "pomarańczowy", "jagodowy", "winogronowy", "truskawkowy" }; <string> Zapytanie do listy = owoce. Gdzie(owoc => owoc. Długość < 6). ToList(); <string> I, wyliczalne zapytanie = owoce. Gdzie(owoc => owoc. Długość < 6); foreach (owoc szpaniakowy w zapytaniu) Console.WriteLine(fruit); Jeśli chodzi o powyższe dwa przykłady, myślę, że nadal są one często używane w zwykłym programowaniu, więc możemy spróbować... |