‫Tekrar hoş geldiniz.
‫Bu derste, anonim yöntemler hakkında bilgi edineceksiniz.
‫Anonim yöntem, adı olmayan bir yöntemdir.
‫Peki, kim anladı?
‫C sharp'taki anonim yöntemler, delege anahtar sözcüğü kullanılarak tanımlanabilir ve delege türündeki
‫bir değişkene atanabilir.
‫Bu, delege gerektiren bir yöntemi her çağırmak istediğimizde kendi yöntemimizi tanımlamak zorunda olmadığımız anlamına
‫gelir, çünkü belki bir kez çağırmak isteyebiliriz.
‫Dolayısıyla, her ihtiyaç duyduğumuzda özel bir delege tanımlamak kod yapısını çok hızlı bir şekilde bozabilir.
‫Bir grup filtre oluşturduğumuz önceki örneğimize ek olarak, burada yetişkin, yaşlı ve tüm
‫iyi şeyleri hatırlayabilirsiniz.
‫Şimdi de devam edelim ve filtremiz olarak özel bir Boolean ifadesi oluşturduğumuz iki ek filtre
‫ve listemizdeki tüm girişleri basitçe görüntülediğimiz ikinci bir filtre oluşturalım.
‫Şimdi devam edelim ve tüm kişileri görüntülediğimiz ana yöntemimize gidelim, tamam mı?
‫Bu yöntemi burada çağırıyoruz ve şimdi yeni bir filtre delegesi oluşturalım.
‫Bu yüzden, burada en üstte ayarladığımız filtre temsilcisi anahtar sözcüğünü kullanacağım.
‫Ve bir boolean döndürmesi gerektiğini ve parametre olarak bir kişi olması gerektiğini göreceksiniz.
‫O zaman buna filtre diyelim.
‫Ve burada bir kez daha delegate anahtar sözcüğünü kullanmamız gerekiyor ve ardından geçirmemiz gereken parametreleri kullanabiliriz.
‫Ve hala şikayet ettiğini görebilirsiniz çünkü öncelikle buraya bir noktalı virgül eklememiz
‫ve ardından bir değer döndürdüğümüzden emin olmamız gerekiyor.
‫Boolean türündedir.
‫Dolayısıyla, tüm kod yolları anonim yöntemde bir değer döndürmez.
‫Yani burada zaten anonim yöntem yazıyor.
‫Bu nedenle, H'nin 20'den büyük veya eşit olduğu ve H'nin 30'dan küçük olduğu durumlarda H'yi döndürmek
‫yeterli olacaktır.
‫Ve eşit 30.
‫Tamam.
‫Hepsi bu kadar.
‫Burada filter delegate türünde filter adında yeni bir değişken oluşturuyoruz.
‫Yani bu sadece bir değişken, değil mi?
‫Ardından, önceden tanımlanmış bir yöntem yerine anonim bir yöntem atarız.
‫Ardından, filtre temsilcisinin talimatlarını izlediğimizden emin oluruz ve bu da bir boolean
‫döndürmektir.
‫Biz de tam olarak bunu yapıyoruz.
‫Bu iki ifade doğruysa true değerini döndürüyoruz.
‫Yani yaş 20'den büyük veya eşitse veya 30'dan küçük ve eşitse.
‫O yüzden sondaki noktalı virgülü unutmayın.
‫Bu gerçekten çok önemli.
‫Aksi takdirde bu çalışmaz çünkü bu temelde bir değişken oluşturmak gibidir.
‫Yani int x eşittir üç gibi.
‫Burada bu filtre delegeleriyle yaptığımızla hemen hemen aynı şey, ancak
‫biraz daha karmaşık.
‫Yani bu yıl burada gördüğünüz şey anonim bir yöntemdir çünkü bir adı yoktur, ancak temelde bir yöntem
‫gibi davranır.
‫Şimdi yapabileceğimiz şey, ekran çalışanlarımızı aramak.
‫Ve filtre değişkenimizi kullanabiliriz, böylece bir filtre geçirebiliriz.
‫Bu oyunu hatırlayabilirsiniz, insanlar her zaman bir unvana sahip olduğunuz bir yapıya sahipti, tam
‫burada bir unvanınız vardı, sonra insanlar listesinde geçmek zorundaydınız, yani kişi nesneleri, değil mi?
‫Ve sonra buraya filtre eklemeniz gerekiyordu.
‫Ve az önce kurduğum filtreyi, yani bu filtre değişkenini kullanacağım.
‫Şimdi bu filtre değişkeni filtre temsilcisi türünde değildir, bu da ekran kullanıcılarının ihtiyaç duyduğu şeydir
‫çünkü burada bir filtre temsilcisi türü gerektirdiğini görüyorsunuz.
‫Bu gerçekten ilginç bir şey çünkü bir yandan devam edip delege tanımını takip eden bir yöntem
‫oluşturabilir ve burada gördüğümüz gibi kullanabilirsiniz.
‫Ancak burada yaptığımız gibi, delegate anahtar sözcüğünü kullanarak anonim bir yöntem kullanan bir değişken oluşturabilir ve bunu
‫bu filtrenin içine yükleyebilir ve ardından bu filtreyi burada kullanabilirsiniz.
‫Yani bu artık tabii ki çocuklar olmayacak ama 20 ila 30 arasında olacak ve orada bulunan
‫tüm insanları gösterecek.
‫Şimdi bu kodu çalıştıralım ve çalışıp çalışmadığını görelim.
‫Ve burada 20 ile 30 arasında 25 yaşında olan Anatoli'yi görüyoruz ama başka kimseyi göremiyoruz.
‫Şimdi anonim bir metodun başka bir yaklaşımını ele alalım; bu da anonim bir metodu doğrudan parametre olarak geçirebilmemizdir.
‫Hadi bunu hızlıca yapalım.
‫Bu yüzden bu display people yöntemini çağırıyoruz ve bu sefer sadece tüm kişileri görüntüleyeceğim, değil mi?
‫Herkes burada.
‫Ancak şimdi burada bir filtre delegesi görüyorsunuz.
‫O halde devam edelim ve anonim bir yöntem oluşturalım.
‫Bunu yapmak için de delegate anahtar sözcüğünü kullanmamız gerekiyor, değil mi?
‫Böyle olacaklar ve elbette aynı talimatı takip etmemiz gerekiyor.
‫Burada üst kısma bakarsak, geçirdiğimiz delegenin filtre delegesi türünde olacağından
‫emin olmamız gerekir.
‫Yani burada bu filtre temsilcisinin bir havuz döndürmesi ve bir kişiye ihtiyacı vardı.
‫O halde P parametresi olarak kişiyi alalım Ama tabii ki, belirttiğim gibi, boolean gibi bir şey de döndürmemiz
‫gerekiyor.
‫Yani temel olarak bu şekilde adlandırabiliriz.
‫İşte bu çok yoğun bir kod satırıdır.
‫Burada çok şey oluyor.
‫Kişileri gösteriyoruz, ancak burada bir de filtre var ve bu filtre, tüm kişileri alıyor ve sadece
‫doğru döndürüyor çünkü buraya hangi kişiyi koyduğumuz gerçekten çok önemli değil.
‫Yani temelde bu kadar.
‫Aksi takdirde, tabii ki bu şekilde de yazabilirsiniz, bu belki biraz daha okunabilir olacaktır.
‫İşte bu, filtre delegesini takip ettiğimiz için üçüncü parametre olarak geçirdiğimiz anonim yöntemimizdir.
‫Hazırlan.
‫Gördüğünüz gibi burada bir boğa döndürüyoruz ve parametre olarak bir kişi alıyoruz.
‫Şimdi delegelerin gücünü görüyorsunuz çünkü süper esnekler.
‫Gerçekten sadece belirli bir yapıyı takip etmenizi istiyorlar.
‫Gerisi size kalmış.
‫Bu da bir geliştirici olarak delegelerle çalışırken size çok fazla esneklik sağlar.
‫Tamam.
‫Böylece anonim yöntemlere küçük bir giriş yapmış olduk.
‫Şimdi Lambda İfadelerine bakalım.