IEnumerable arayüzü neden görüyoruz, genel programlama açısından harika olduğunu düşünebiliriz, aslında kullanmayı düşünemiyoruz ama denildiği gibi, varoluş gerçektir, peki bize ne harika şeyler sunabilir? Bunu anlamak için, tanımına bir göz atalım! MSDN'de, denildiği gibi, genel olmayan koleksiyonlarda basit yinelemeleri destekleyen halka açık bir enumdur. Başka bir deyişle, IEnumerable'dan tüm dizi geçişleri için, bu özelliği dizileri dolaşabilen ortak bir yöntem tanımlamak için kullanabiliriz. Mesela: public static void Print(IEnumerable myList) { int i = 0; foreach (myList'te obj obj) { eğer (obj Öğrencidir)// Bu, öğrencinin bir sınıf veya yapı olduğu türün yargısıdır { Öğrenci s=(Öğrenci)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } if (obj int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Yukarıda, karşılık gelen işlemleri yapmak için foreach içinde birden fazla if yargısı yapabiliriz. IEnumerable'ın bir diğer kullanımı ise jenerik kelimelerdir. Lamda ifadesiyle bir dizide sorgulama yapmak şöyledir: <string> Meyve listesi = yeni Liste<string> { "elma", "tutku meyvesi", "muz", "mango", "turuncu", "yaban mersin", "üzüm", "çilek" }; Liste<string> sorgusu = meyveler. Burada(meyve => meyve. Uzunluk < 6). ToList(); <string> IEnumerable sorgu = meyveler. Burada(meyve => meyve. Uzunluk < 6); foreach (sorgulanan ip meyvesi) Console.WriteLine(meyve); Yukarıdaki iki örnek için ise, bence hâlâ sıradan programlamada sıkça kullanılıyor, denemek daha iyi olur... |