Zakaj vidimo IEnumerable vmesnik? Morda se nam zdi neverjeten, v splošnem programiranju ga v bistvu ne moremo uporabljati, a kot pravi pregovor, obstoj je resnica, kaj čudovitega nam lahko prinese? Da bi jo razumeli, si poglejmo njeno definicijo! Na MSDN, kot je rečeno, je to javni enum, ki podpira preproste iteracije na negeneričnih zbirkah. Z drugimi besedami, za vse prehode po poljih, iz IEnumerable, lahko to lastnost uporabimo za definiranje skupne metode, ki lahko prečka polja. Na primer: javna statična praznina Tisk (IEnumerable myList) { int i = 0; foreach (objektni objekt v myList) { če (obj je Študent)// To je presoja tipa, kjer je študent razred ali struktura { Študent s=(Študent)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } če (obj je int) { Console.WriteLine ("INT:{0}",obj); } } Console.WriteLine(); } Zgoraj lahko izvedemo več sodb v foreach za izvedbo ustreznih operacij. Druga uporaba IEnumerable je v generiki. Poizvedba v polju z lamda izrazom je naslednja: <string> Seznam sadev = nov seznam<string> { "jabolko", "pasijonka", "banana", "mango", "pomaranča", "borovnica", "grozdje", "jagoda" }; <string> Poizvedba po seznamu = sadje. Kjer (sadje => sadje. Dolžina < 6). ToList(); <string> IEštevna poizvedba = sadje. Kjer (sadje => sadje. Dolžina < 6); foreach (string fruit v poizvedbi) Console.WriteLine (sadje); Kar zadeva zgornja dva primera, mislim, da se še vedno pogosto uporabljata v običajnem programiranju, lahko poskusimo... |