IEnumerables<T>
में सभी तत्वों को गिनने के बिना struct
तत्वों का संग्रह, यह पता लगाने का सबसे अच्छा तरीका क्या है कि यह खाली है?कैसे पता चलेगा कि एक आईनेमरेबल <ValueType> खाली है, बिना गिनती के?
उदाहरण के लिए, class
तत्वों पर मैं सामान्य रूप से साथ परीक्षण होगा पहले या डिफ़ॉल्ट:
myEnumerableReferenceTypeElements.FirstOrDefault() == null
क्योंकि अशक्त सामान्य रूप से संग्रह में कोई मान्य मान दोहराया नहीं किया जा रहा है।
हालांकि, मूल्य प्रकारों के मामले में जहां सभी मान पूर्वनिर्धारित सीमा में होना चाहिए, डिफ़ॉल्ट मान (उदा। 0 का int डिफ़ॉल्ट) संग्रह में एक व्यवहार्य वस्तु भी है।
myValueTypeInt32Elements.FirstOrDefault() == 0 // can't tell if empty for sure
अंतर्निहित प्रकार के बावजूद आपको 'Any' का उपयोग करना चाहिए। – jason
संभावित डुप्लिकेट [सी #: यह अनुक्रमित तरीका है कि कोई अनुक्रम खाली है या नहीं) (http://stackoverflow.com/questions/2094729/c-recommended-way-to-check-if-a-sequence-is-empty) – nawfal