Saya telah mendiskusikan hal ini dengan kolega, dan kami tidak tahu apa gunanya .Anyuntuk setiap pemberian List<>, di C #.
Anda dapat memeriksa validitas elemen dalam array seperti pernyataan berikut:
if (MyList.Any()){ ...} //Returns true or false
Yang persis sama dengan
if (MyList.Count() != 0) { ... }
dan jauh lebih umum, mudah dibaca dan jelas tentang maksud ifpernyataan itu.
Pada akhirnya, kami terjebak dengan pemikiran ini:
.Any()dapat digunakan, akan bekerja dengan baik, tetapi kurang jelas tentang maksud programmer, dan jika itu tidak boleh digunakan.
Tetapi kami merasa ini tidak mungkin benar; kita pasti kehilangan sesuatu.
Apakah kita?
Any()kurang jelas: Any()tampak lebih jelas bagi saya, terutama dengan kondisi lambda. Menerjemahkan kode ke Bahasa Inggris di kepalaku, if(MyList.Count(o => o > 10) > 0)menjadi "Apakah jumlah item lebih besar dari 10 lebih dari 0?" sedangkan if(MyList.Any(o => o > 10))menjadi "Apakah ada item lebih besar dari 10?"
Anyis Exists. Nama Linq mungkin lebih terinspirasi oleh Haskell dan Python yang juga memiliki fungsi apa saja.