एक सामान्य सूची पर AddRange और Concat फ़ंक्शंस के बीच क्या अंतर है? क्या एक दूसरे पर सिफारिश की जाती है?.NET सूची <T> कंसैट बनाम AddRange
उत्तर
उनके पास पूरी तरह से अलग अर्थशास्त्र हैं।
AddRange अन्य वस्तुओं को जोड़कर सूची को संशोधित करता है।
कंसट सूची को संशोधित किए बिना सूची और अन्य वस्तुओं वाला एक नया अनुक्रम देता है।
चुनें कि आपके पास कोई भी अर्थशास्त्र है जिसे आप चाहते हैं।
बड़ा अंतर यह है कि AddRange उस सूची को बदल देता है जिसके खिलाफ इसे कहा जाता है जबकि Concat एक नई सूची बनाता है। इसलिए उनके पास अलग-अलग उपयोग हैं।
इसके अलावा कोंकैट एक विस्तार विधि है जो किसी भी आईनेमरेबल पर लागू होती है और एक आईनेमरेबल लौटाती है जिसके लिए आपको एक नई सूची में परिणामस्वरूप टॉलीस्ट() की आवश्यकता होती है।
यदि आप मौजूदा सूची की सामग्री का विस्तार करना चाहते हैं तो AddRange का उपयोग करें।
यदि आप दो आईनेमरेबल स्रोतों से एक नई सूची बना रहे हैं तो टोस्टिस्ट के साथ Concat का उपयोग करें। इसमें गुणवत्ता है कि यह किसी भी स्रोत को म्यूट नहीं करता है।
यदि आपको केवल दो सूचियों (या किसी अन्य आईनेमरेबल) की सामग्री को गिनने की आवश्यकता है तो बस हर बार कंसट का उपयोग करें, इसका असीमित सूची को पकड़ने के लिए वास्तव में नई मेमोरी आवंटित करने का लाभ नहीं है।
+1, दरअसल, अगर आप 'सूची' करना भूल जाते हैं, तो चुपचाप चुपचाप कुछ भी नहीं करता – smirkingman
- 1. सूची <> AddRange ArgumentException
- 2. सूची। AddRange इनलाइन घोषणा
- 3. सूची <?> बनाम सूची <? फैली हुई वस्तु>
- 4. सूची <Object> बनाम सूची <dynamic>
- 5. सी # सूची <T>। .NET 2.0
- 6. जेपीए कंसैट ऑपरेटर
- 7. एमवीसी रेजर स्ट्रिंग कंसैट
- 8. स्ट्रिंग [] बनाम सूची <string> सी #
- 9. बाध्यकारी सूची क्यों नहीं है (टी) में AddRange सदस्य है?
- 10. टी? AddRange ICollection?
- 11. @OneToMany सूची <> बनाम सेट <> अंतर
- 12. IList <int> बनाम सूची <int>
- 13. अवलोकन योग्य चयन <> बनाम सूची <>
- 14. AddRange() और LINQ प्रतिलिपि समस्या
- 15. सूची <long> बनाम लंबे [], स्मृति उपयोग
- 16. कंसैट दो तार एक साथ
- 17. ईजेएस: <% = बनाम <% -
- 18. सूची की उपयोगिता <T> .Sort() बनाम सूची <T>। कस्टमर कंटेनर क्लास
- 19. सूची <T> बनाम बाध्यकारी सूची <T> लाभ/DisAdvantages
- 20. ArrayList सूची <object>
- 21. बनाम सूची इटरेटर सूची
- 22. List.empty बनाम सूची() बनाम नई सूची()
- 23. सूची <T>
- 24. सूची <T> डेटाव्यू
- 25. .NET में एक सूची <T> के तत्वों 4.0
- 26. <%# %> बनाम <%= %>
- 27. .NET बनाम एएसपी.नेट बनाम सीएलआर बनाम एएसपी
- 28. सूची <T> .ddRange कार्यान्वयन suboptimal
- 29. पीएचपी: <<< ob_start बनाम
- 30. सूची बनाम CLIPS बनाम Prolog
तो आयन एक तंग पाश, यह अतिरिक्त सीमा का उपयोग करने के लिए बेहतर होगा ताकि सभी आंतरिक नए कारणों और जीसी को तेज़ करने के कारण प्रदर्शन खोना न पड़े? – johnc
असल में, स्थगित निष्पादन के कारण, कोंकैट का उपयोग करना तेजी से तेज़ होगा क्योंकि यह * ऑब्जेक्ट आवंटन से बचाता है - कंसट कुछ भी कॉपी नहीं करता है, यह केवल सूचियों के बीच लिंक बनाता है ताकि गणना करने के दौरान और आप एक के अंत तक पहुंच सकें, यह पारदर्शी रूप से आपको ले जाता है अगले की शुरुआत के लिए! –