Kodėl mes matome IEnumerable sąsają, mes galime manyti, kad ji yra nuostabi, bendrame programavime, iš esmės mes negalime galvoti apie jos naudojimą, bet, kaip sakoma, egzistencija yra tiesa, tad kokių nuostabių dalykų ji gali mums atnešti? Norėdami tai suprasti, pažvelkime į jo apibrėžimą! MSDN, kaip sakoma, tai yra viešas išvardijimas, palaikantis paprastas negenerinių kolekcijų iteracijas. Kitaip tariant, visiems masyvo perėjimams, iš IEnumerable, galime naudoti šią funkciją, kad apibrėžtume bendrą metodą, galintį pereiti masyvus. Pavyzdžiui: public static void Print(IEnumerable myList) { int i = 0; foreach (Objekto obj mano sąraše) { if (obj yra studentas)// Tai yra tipo sprendimas, kai studentas yra klasė ar struktūra { Studentas s=(Studentas)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } if (obj yra int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Aukščiau, mes galime atlikti kelis jei sprendimai foreach atlikti atitinkamas operacijas. Kitas IEnumerable naudojimas yra generiniai vaistai. Užklausa masyve su lamda išraiška yra tokia: Vaisių sąrašas<string> = naujas sąrašas<string> { "obuolys", "pasiflora", "bananas", "mangas", "apelsinas", "mėlynė", "vynuogė", "braškė" }; Sąrašo<string> užklausa = vaisiai. Kur (vaisius = > vaisius. Ilgis < 6). ToList(); IEnumerable<string> užklausa = vaisiai. Kur (vaisius = > vaisius. Ilgis < 6); foreach (eilutės vaisius užklausoje) Console.WriteLine(vaisius); Kalbant apie aukščiau pateiktus du pavyzdžius, manau, kad jie vis dar dažnai naudojami įprastame programavime, taip pat galėtume pabandyti... |