में कनवर्ट करना मैं IEnumerable<Contact>
से List<Contact>
में कनवर्ट करना चाहता हूं। मैं यह कैसे कर सकता हूँ?IENumerable से सूची
उत्तर
आप LINQ का उपयोग करके इसे बहुत आसानी से कर सकते हैं।
यकीन है कि का उपयोग कर इस अपने सी # फ़ाइल के शीर्ष पर है:
using System.Linq;
फिर ToList
विस्तार विधि का उपयोग करें।
उदाहरण:
IEnumerable<int> enumerable = Enumerable.Range(1, 300);
List<int> asList = enumerable.ToList();
मामले में आप IEnumerable<T>
के बजाय एक नियमित रूप से पुराने System.Collections.IEnumerable
साथ काम कर रहे हैं जिनका उपयोग आप enumerable.Cast<object>().ToList()
मैं इस के लिए एक विस्तार विधि का उपयोग करें। मेरी विस्तार विधि पहले यह देखने के लिए जांचती है कि गणना शून्य है और यदि ऐसा है तो एक खाली सूची बनाता है। यह स्पष्ट रूप से शून्य के लिए जांच किए बिना इसके बारे में एक foreach करने की अनुमति देता है।
IEnumerable<string> stringEnumerable = null;
StringBuilder csv = new StringBuilder();
stringEnumerable.ToNonNullList().ForEach(str=> csv.Append(str).Append(","));
यहाँ विस्तार विधि है::
यहाँ एक बहुत ही काल्पनिक उदाहरण है
public static List<T> ToNonNullList<T>(this IEnumerable<T> obj)
{
return obj == null ? new List<T>() : obj.ToList();
}
एक और तरीका
List<int> list=new List<int>();
IEnumerable<int> enumerable =Enumerable.Range(1, 300);
foreach (var item in enumerable)
{
list.add(item);
}
"AddRange (enumerable)" फ़ंक्शन या सूची (गणना करने योग्य) कन्स्ट्रक्टर का उपयोग करना काफी बेहतर है। – QtRoS
आप System.Collections.IEnumerable
के एक कार्यान्वयन उपयोग कर रहे हैं आप इसे List
में बदलने के लिए निम्न की तरह कर सकते हैं। को जेनेरिक List
में कनवर्ट करने के लिए Enumerable.Cast विधि का उपयोग करता है।
//ArrayList Implements IEnumerable interface
ArrayList _provinces = new System.Collections.ArrayList();
_provinces.Add("Western");
_provinces.Add("Eastern");
List<string> provinces = _provinces.Cast<string>().ToList();
आप जेनेरिक संस्करण IEnumerable<T>
उपयोग कर रहे हैं, रूपांतरण सीधे आगे है। चूंकि दोनों जेनरिक हैं, तो आप नीचे दिए क्या कर सकते हैं
IEnumerable<int> values = Enumerable.Range(1, 10);
List<int> valueList = values.ToList();
लेकिन अगर IEnumerable
रिक्त है, जब आप इसे एक List
में बदलने का प्रयास करने पर आपको ArgumentNullException
कह मूल्य खाली नहीं रह सकती मिलेगा।
IEnumerable<int> values2 = null;
List<int> valueList2 = values2.ToList();
इसलिए के रूप में other answer में उल्लेख किया है, यह एक List
को परिवर्तित करने से पहले एक null
जाँच करने के लिए याद है।
- 1. सी # IENumerable <Base> से IENumerable <Derived>
- 2. IENumerable सूची को कैसे क्रमबद्ध करें?
- 3. IEnumerable प्रारूप
- 4. IEnumerable
- 5. IENumerable
- 6. IENumerable <T> IENumerable से क्यों प्राप्त होता है?
- 7. IENumerable <Object> से IENumerable <string>
- 8. लागू IEnumerable <T> एक सूची आवरण
- 9. क्या हमारे पास IENumerable
- 10. सूची <int> IENumerable <IComparable>
- 11. चयन सूची आइटमों की गणना करें (IENumerable गिनें)
- 12. चेक एक अगर IEnumerable एक और IEnumerable
- 13. XmlSerializer IENumerable
- 14. एक IEnumerable कई बार
- 15. IEnumerable <T> रूपांतरण
- 16. LINQ - IEnumerable
- 17. ReadOnlyCollection IENumerable
- 18. एक IEnumerable
- 19. IEnumerable OrderBy
- 20. डेटा के बिना IEnumerable
- 21. IENumerable से ObservableCollection को कैसे परिवर्तित करें?
- 22. मैं IENumerable कैसे कार्यान्वित करूं?
- 23. IENumerable <T>
- 24. सूची <T> से IENumerable <T> कैसे प्राप्त करें?
- 25. एक IEnumerable <T> एक IEnumerable <IEnumerable <T>>
- 26. IEnumerable <IEnumerable <T>> IEnumerable <T> को LINQ
- 27. एक IEnumerable <type> छंटाई तीन से
- 28. IEnumerable <IEnumerable <string>> से ICollection <T>
- 29. IENumerable, IENumerator बनाम foreach,
- 30. IENumerable <T>
यह ध्यान रखना महत्वपूर्ण है कि आपका समाधान 'IENumerable' के सामान्य संस्करण के लिए काम करता है। नीचे उपयोगकर्ता अचार से उत्तर गैर-जेनेरिक संस्करण को संभालता है। – mkmurray
"सिस्टम का उपयोग कर .Linq;" – mili
धन्यवाद @ mkmurray मुझे "अचार" खोजने के लिए नज़दीकी ध्यान देना होगा: डी – fabriciorissetto