मैं सहकर्मियों के साथ इस बारे में चर्चा कर रहा हूं, और हम यह पता नहीं लगा सके कि .Any
किसी भी दिए का उपयोग List<>
C # में क्या है।
आप निम्न कथन की तरह सरणी में किसी तत्व की वैधता की जांच कर सकते हैं:
if (MyList.Any()){ ...} //Returns true or false
जो बिल्कुल वैसा ही है
if (MyList.Count() != 0) { ... }
और if
बयान के इरादे के बारे में बहुत अधिक सामान्य, पठनीय और स्पष्ट है ।
अंत में, हम इस सोच के साथ फंस गए:
.Any()
इस्तेमाल किया जा सकता है, बस के रूप में अच्छी तरह से काम करेगा, लेकिन प्रोग्रामर के इरादे के बारे में कम स्पष्ट है, और यह मामला है कि इसका इस्तेमाल नहीं किया जाना चाहिए।
लेकिन हमें लगता है कि यह सही नहीं हो सकता; हमें कुछ याद आ रहा है।
क्या हम?
Any()
कम स्पष्ट है: Any()
मेरे लिए अधिक स्पष्ट लगता है, विशेष रूप से एक लंब-हालत के साथ। मेरे सिर में अंग्रेजी के लिए कोड का अनुवाद, if(MyList.Count(o => o > 10) > 0)
हो जाता है "मदों की संख्या 10 से अधिक 0 से अधिक है?" जबकि if(MyList.Any(o => o > 10))
हो जाता है "वहाँ किसी भी आइटम 10 से अधिक कर रहे हैं?"
Any
है Exists
। लिनक नाम संभवतः हास्केल और पायथन से अधिक प्रेरित है जिसमें कोई भी / सभी कार्य हैं।