Miks me näeme IEnumerable'i liidest? Võime arvata, et see on hämmastav, üldiselt programmeerimine, põhimõtteliselt me ei suuda seda kasutada, aga nagu öeldakse, eksistents on tõde, nii et milliseid imelisi asju see meile tuua võib? Selle mõistmiseks vaatame selle definitsiooni üle! MSDN-is, nagu öeldakse, on see avalik enum, mis toetab lihtsaid iteratsioone mitte-generilistel kogudel. Teisisõnu, kõigi massiivi läbimiste puhul, IEnumerable'ist, saame seda funktsiooni kasutada ühise meetodi defineerimiseks, mis suudab massiivide läbimiseks. Näiteks: avalik staatiline tühjus Prindi (IEnumerable myList) { int i = 0; foreach (objekt obj myListis) { if (obj on õpilane)// See on tüübi hinnang, kus õpilane on klass või struktuur { Õpilane s=(Õpilane)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } kui (objekt on int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Ülaltoodud saame teha mitu if-hinnangut forach-is, et sooritada vastavaid operatsioone. IEnumerable'i teine kasutusala on üldistes vormides. Massiivi pärimine lamda avaldisega on järgmine: Nimekirja<string> puuviljad = uus nimekiri<string> { "apple", "passionfruit", "banaan", "mango", "apelsin", "mustikas", "viinamarja", "maasikas" }; <string> Loendi päring = puuviljad. Kus(puuvili => puuvili. Pikkus < 6). ToList(); <string> IEnumerable päring = viljad. Kus(puuvili => puuvili. Pikkus < 6); foreach (string fruit päringus) Console.WriteLine(fruit); Mis puudutab eelnevaid kahte näidet, siis arvan, et neid kasutatakse endiselt sageli tavalises programmeerimises, võime sama hästi proovida... |