सूची में IENumerable
<T>
उत्तर
जैसा कि पहले से ही सुझाव दिया गया है, yourEnumerable.ToList()
का उपयोग करें। यह आपके IEnumerable
के माध्यम से समझाता है, जो सामग्री को नए List
में संग्रहित करता है। आप एक मौजूदा सूची की प्रतिलिपि नहीं बना रहे हैं, क्योंकि आपके IEnumerable
तत्वों को आलसी बना सकते हैं।
यह वही है जो अन्य उत्तरों सुझाव दे रहे हैं, लेकिन स्पष्ट हैं। यहाँ disassembly है, ताकि आप सुनिश्चित हो सकते हैं:
public static List<TSource> ToList<TSource>(this IEnumerable<TSource> source)
{
if (source == null)
{
throw Error.ArgumentNull("source");
}
return new List<TSource>(source);
}
.ToList() विधि का उपयोग करें।
yourEnumerable.ToList();
उपलब्ध नहीं का उपयोग कर System.Linq याद आ रही है :) है। यह पूरी तरह स्वीकार्य उत्तर होना चाहिए ... – CodingYourLife
नहीं, तुम, यदि आप सुनिश्चित कर रहे हैं नकल करना चाहिए कि संदर्भ सूची के संदर्भ है, तो आप इस
List<int> intsList = enumIntList as List<int>;
यदि आप * निश्चित * हैं कि यह एक सूची का संदर्भ है, तो आपको प्रत्यक्ष कास्ट का उपयोग करना चाहिए ताकि यदि आप गलत हैं तो यह अपवाद फेंक देगा। यदि आप सोचते हैं कि "as" का उपयोग करें * हो सकता है * एक सूची
शायद एक 'अगर (intsList == null) intsList = नई सूची
तरह परिवर्तित एक नई सूची बनाने और उसके प्रारंभकर्ता करने के लिए पुराने IEnumerable पारित कर सकते हैं:
IEnumerable<int> enumerable = GetIEnumerable<T>();
List<int> list = new List<int>(enumerable);
यह सूची भी कॉपी करता है .. –
वैसे भी एक प्रतिलिपि होने की आवश्यकता होगी। – Shimmy
दूसरों के रूप में सुझाव दिया, बस एक गणनीय वस्तु पर ToList()
विधि का उपयोग करें:
var myList = myEnumerable.ToList()
लेकिन, अपनी IEnumerable
वस्तु ToList()
विधि नहीं है, तो और आप जैसे एक त्रुटि हो रही है निम्नलिखित:
'IEnumerable' 'ToList'
के लिए एक परिभाषा शामिल नहीं है
आप शायद System.Linq
नाम स्थान से चूक रहे हैं, तो बस इसे जोड़ने:
using System.Linq
- 1. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 2. 'ऑपरेटर <<' के लिए 'std :: cout <<' में अस्पष्ट अधिभार <<
- 3. >>>>,> |, ||, | <, <, <<
- 4. PHP व्यंजक <<< EOB
- 5. PHP क्या <<< मतलब है?
- 6. पीएचपी: <<< ob_start बनाम
- 7. अंतर << a_value
- 8. प्रश्न <<
- 9. ईजेएस: <% = बनाम <% -
- 10. cout << स्ट्रिंगस्ट्रीम
- 11. एएसपी.Net में, <% = और <% #
- 12. << ऑपरेटर और प्रत्यावर्तन
- 13. <%! %> और <% %>
- 14. <? के बजाय php <?
- 15. ऑपरेटर बनाना << आभासी?
- 16. कॉलिंग ऑपरेटर << gdb
- 17. DOMDocument को <as & lt
- 18. ओवरलोडिंग ऑपरेटर << - सी ++
- 19. Enumerable.ToList <>() <>
- 20. का अर्थ << = और | =
- 21. कैसे बचें << - असाइन
- 22. ऑपरेटर << ओवरलोडिंग ओस्ट्रीम
- 23. <%# %> बनाम <%= %>
- 24. <<..>> = आउटपुट
- 25. मैं अदालत << MyClass
- 26. <script></script> या <script />?
- 27. "<<<" ऑपरेटर का नाम क्या है?
- 28. PHP में <<< ईओडी का उपयोग क्या है?
- 29. एक्सएमएल में <ArrayOf> की सूची <<
- 30. PHP में, "<<<" क्या दर्शाता है?
क्या यह एक त्रुटि फेंक देगा यदि IENumerable शून्य नहीं है लेकिन खाली है? –