‫Geçen yıl da teknik açıdan gözün nasıl çalıştığına baktık.
‫Ve bu videoda bundan nasıl yararlanabileceğimizi inceleyeceğiz.
‫Çünkü I enumerable'ın en güzel yanı, liste, işaret dizisi gibi genellikle kullandığımız liste
‫türlerinin aslında AI enumerable arayüzünü uyguluyor olmasıdır.
‫Yani bu bize çok fazla özgürlük veriyor ve bununla neler yapabileceğimizi göreceğiz.
‫Bu yüzden get collection adında bir metodum olacak.
‫Yapacağı şey, integer türünde bir i enumerable döndürmektir.
‫Bu yüzden bir noktada bir şeyi iade etmemiz gerekecek.
‫Bu hatadan kurtulmak için şimdilik null döndürelim.
‫Ve şimdi i enumerable kullanmak istiyorsanız, system collections generic eklememiz gerektiğini görebiliriz çünkü
‫burada integer kullanıyoruz, değişmez bir rebel integer döndüreceğiz.
‫Bu da, bu ad alanı koleksiyonlarının genel olduğundan emin olmamız gerektiği anlamına gelir.
‫Pekala, şimdi bu koleksiyon ne yapacak?
‫Yani temelde birden fazla seçeneğimiz olabilir.
‫Dolayısıyla, birinci seçeneği seçersek get koleksiyonumuz bir liste döndürecektir.
‫seçeneğini alırsak bir Q döndürür ve üç, dört veya beş gibi diğer seçenekleri
‫alırsak bir dizi tamsayı döndürür.
‫Dolayısıyla bu get collection yöntemi, kendisine ileteceğimiz seçeneğe bağlı olarak tamamen farklı türde
‫listeler döndürecektir.
‫İşte bu get collection'ın arkasındaki fikir budur ve bu aynı zamanda I in numeral arayüzünü
‫kullanmanın gücüdür çünkü dediğim gibi, list, queue ve array'in hepsi AI enumerable arayüzünü uygular.
‫Tamam, bir bakalım.
‫Numaralar listesi adını vereceğim bu listeyi oluşturalım ve hemen başlatalım.
‫Yani tam sayılardan oluşan bir liste olacak ve sayılar bir, iki, üç, dört,
‫beş olacak ve sonra bir grup değer içeren bir kuyruk oluşturacağız.
‫Yani burada, altı, yedi, sekiz, dokuz, on ve bunları bu sayılara dahil edeceğiz.
‫Görüyorsunuz.
‫Q Numbers.
‫S Şimdi, eğer üzerine gelirseniz, bunun aynı zamanda genel bir koleksiyon olduğunu görebilirsiniz.
‫Aynı şey liste için de geçerli.
‫Bu genel bir koleksiyon.
‫Aynı şey I numaralandırılabilir genel koleksiyon için de geçerlidir.
‫Yani zaten belli bir koleksiyon olduğunu görebilirsiniz.
‫Şimdi yapacağım şey, alınan seçeneklerin neler olduğunu kontrol etmek olacak.
‫Peki benim toplama yöntemimin geçmişinde ne var?
‫Eğer bir taneyse, o zaman numaralar listemi geri vereceğim.
‫Eğer iki kişi olacaksa, numaralarımı iade edeceğim.
‫S Yani tamamen farklı türde bir liste.
‫Yani farklı türde bilgiler ve farklı değerler içeriyor, ama aslında tamamen farklı
‫bir şey.
‫Yani bu bir liste değil, bir Q ve Q bir A listesi türü değildir.
‫Yani Q, list'ten ya da onun gibi bir şeyden miras alınmaz.
‫Yani burada ilginç olan şey, ne yapabileceğimiz ve başka türlü ne yapabileceğimiz.
‫Dolayısıyla, seçenek başka bir şeyse, 1112, 13, 14, 50 değerlerini döndüreceğimiz bir
‫LS durumumuz olacaktır.
‫Şimdi bu durumda, buradaki return ifadesine asla ulaşılamayacağını görebilirsiniz.
‫Böylece bu satırdan tamamen kurtulabiliriz çünkü burada bir sürü geri dönüş içeren bu if else deyimine
‫sahip olursak temelde hiçbir zaman ulaşılamayacaktır.
‫Tamam.
‫Şimdi bu get collection yöntemine sahip olduğumuza göre, bunu ana yöntemimizde kullanalım.
‫İşte burada uygulamamızın başlangıç noktasında, bilinmeyen bir koleksiyon oluşturalım.
‫Yani tamsayıları kullanan veya tamsayıları tutan genel bir koleksiyon olacak bir I enumerable koleksiyonu ve get collection
‫metodu tarafından döndürülecek koleksiyonu saklamak için bu değişkeni kullanacağız.
‫Şimdi oluşturduğumuz bu metoda get collection one atayalım.
‫Yani ona bir tane verdiğimiz için, bilinmeyen koleksiyon artık tutacaktır.
‫Şuraya bakalım.
‫Buradaki liste, buradaki liste.
‫Kuyruk değil, liste.
‫Yani bu gerçekten harika bir şey.
‫Şimdi bunu konsolumuzda görüntüleyebilir ve koleksiyondaki her sayı için get koleksiyonundan geri aldığımızı
‫söyleyebiliriz.
‫Bu yüzden bilinmeyen koleksiyonumuzdaki tüm sayıları almak için for each kullanacağız.
‫Çünkü bir şey AI enumerable ise, yani bir liste türü, bir dizi gibi, bir Q gibi AI enumerable arayüzünü
‫uyguluyorsa, o zaman her bir döngü için onu kullanarak yineleyebiliriz, burada yaptığımız
‫da budur.
‫Bu bilinmeyen koleksiyonu inceleyeceğiz ve her sayı için konsola
‫yazacağız.
‫Şunu hızlıca çalıştıralım.
‫Ve bir, iki, üç, dört, beşin yazdırıldığını görebiliriz.
‫Bu işe yaramış gibi görünüyordu.
‫Şimdi aynı şeyi yapalım.
‫Ama koleksiyonla da.
‫Bu yüzden koleksiyonu alın ve şimdi Q'ya dönecek olan iki seçeneğini geçiyoruz.
‫Ancak bunu genel koleksiyonlarımızın temel türünde depolayacaktır.
‫Tamam.
‫Yani bilinmeyen koleksiyon, temelde listemizin ve listemizin temel türü olan enumerable'ın temel türüdür.
‫Q Şimdi sadece ona atayabiliriz çünkü bilinmeyen koleksiyonun liste mi, Q mu, dizi mi
‫olduğu önemli değildir, çünkü hepsi öyledir.
‫Bir AI enumerable'ın talimatlarını takip ederek, bunun uygulanmasını takip ettiler.
‫Şimdi bu kodu çalıştırırsak, şimdi görüntülenecektir.
‫Buradaki kuyruk altı, yedi, sekiz, dokuz, on.
‫Yani bu bir kuyruktu ve bizim için onu gösteriyor.
‫Tamam.
‫Şimdi de başka bir seçenek türü girdiğimizde ne olacağına bakalım.
‫Diyelim ki ona beş seçeneğini verdik, bu da temelde bir sayı dizisi döndürecek olan
‫bu durumu döndürecektir.
‫Bunu tekrar çalıştıralım.
‫Ve şimdi 11, 12, 13, 14, 15'i döndürdüğünü göreceğiz.
‫Tabii ki bunlar daha öncekilerdi.
‫Yani bu her bir döngü için.
‫Onları silmedik.
‫Tabii ki, bunu görmek için onlardan kurtulabiliriz.
‫Şimdi sadece diziyi yapacak veya diziyi görüntüleyecektir.
‫İşte buradayız.
‫Yalnızca diziyi görüntüler.
‫Bu kadar.
‫Bu örnek için, i enumerable'ı kullanmanın oldukça avantajlı olduğunu görüyorsunuz, yani tabiri caizse,
‫for each döngüsü gibi yinelenebilir yapmak istediğimiz herhangi bir genel liste türünün temel türü e for each döngü
‫etiketi tabiri caizse.
‫Ve bu gerçekten onun gücü.
‫Gerçekten faydalı şeyler.
‫Bir sonraki videoda, bir metot için parametre olarak I numaralandırılabilir koleksiyonu geçireceğimiz
‫başka bir örneğe bakacağız.
‫Tamam.
‫Bu video için bu kadar.
‫Bir sonrakinde görüşürüz.