ConvertAll
विस्तार नहीं है, यह सूची वर्ग में एक विधि है। आपको ToList
परिणाम पर कॉल करने की आवश्यकता नहीं है क्योंकि यह पहले से ही एक सूची है:
List<int> list2 = list.ConvertAll(x => 2 * x);
तो, अंतर यह है कि ConvertAll
विधि का उपयोग केवल एक सूची में किया जा सकता है, और यह एक सूची देता है। इस Select
पद्धति का उपयोग किसी भी संग्रह पर किया जा सकता है जो IEnumerable<T>
इंटरफ़ेस को लागू करता है, और यह एक रिटर्न देता है IEnumerable<T>
।
इसके अलावा, वे अलग तरह से प्रसंस्करण करते हैं, इसलिए विभिन्न स्थितियों में उनकी ताकत होती है। ConvertAll
जबकि सूची के माध्यम से विधि रन और, एक ही बार में एक नई सूची बनाता Select
विधि आलसी निष्पादन का उपयोग करता है और के रूप में आप उन्हें जरूरत केवल आइटम संसाधित करता है। यदि आपको सभी आइटम की आवश्यकता नहीं है, तो Select
विधि अधिक कुशल है। दूसरी ओर, एक बार ConvertAll
सूची वापस आ जाने के बाद, आपको मूल सूची रखने की आवश्यकता नहीं है।