Bunu meslektaşlarımla tartışıyordum ve C # ' .Any
da verilen herhangi bir kullanımın ne olduğunu bulamadık List<>
.
Dizideki bir öğenin geçerliliğini aşağıdaki ifade gibi kontrol edebilirsiniz:
if (MyList.Any()){ ...} //Returns true or false
Tam olarak aynı olan
if (MyList.Count() != 0) { ... }
ve if
ifadenin amacı hakkında çok daha yaygın, okunaklı ve açıktır .
Sonunda, bu düşünce ile sıkışıp kaldık:
.Any()
kullanılabilir, aynı şekilde çalışır, ancak programcının amacına dair daha az açıktır ve bu kullanılmamalıdır.
Ancak bunun doğru olamayacağını düşünüyoruz; bir şeyleri özlüyor olmamız gerekiyor.
Biz?
Any()
az açık olan iddianıza meydan okuyorum: Any()
özellikle bir lambda koşulu ile bana daha açık görünüyor. Kafamdaki İngilizce'ye kod çevirme, if(MyList.Count(o => o > 10) > 0)
olur "10 den fazla 0'dan öğe sayısı yüksek mi?" oysa if(MyList.Any(o => o > 10))
olur "Orada herhangi ürün 10 üzerinde mi?"
Any
DİR Exists
. Linq ismi muhtemelen Haskell ve Python'dan esinlenerek, hepsinde / hepsinde fonksiyonlara sahip.