List<string> list = new List<string>() {"a", "b", "c"};
IEnumerable<string> enumerable = list;
int c1 = list.Count;
int c2 = list.Count();
int c3 = enumerable.Count();
के बीच एक अंतर कर रहे हैं कि इन पिछले 3 बयानों के बीच प्रदर्शन और कार्यान्वयन में अंतर वहाँ है? list.Count()
list.Count
के रूप में खराब या समान प्रदर्शन करेगा, और इससे कोई फर्क नहीं पड़ता कि संदर्भ IEnumerable<string>
है?गणना() (LINQ विस्तार) और सूची <T> .Count
यदि आईन्यूमेरेबल एक आईसीओलेक्शन (जैसे एक सूची) है तो इसलिए। काउंटी प्रॉपर्टी है, तो जब आप .Count() विधि का उपयोग करते हैं तो लिंक इसे शॉर्टकट के रूप में उपयोग करता है। इसका मतलब है कि जो भी आप उपयोग करते हैं वह वास्तव में कोई फर्क नहीं पड़ता। – Dolbz
यह गलत है। गणना() को कोड किया गया है कि यह केवल गिनती के माध्यम से गुम हो जाता है यदि आप जिस तत्व को कॉल कर रहे हैं, उस पर गणना() पर आईसीओलेक्शन को लागू नहीं करता है। –