जवाबों:
.NET 2.0 में वह ConvertAll
विधि है जहां आप एक कनवर्टर फ़ंक्शन में पास कर सकते हैं:
List<int> l1 = new List<int>(new int[] { 1, 2, 3 } );
List<string> l2 = l1.ConvertAll<string>(delegate(int i) { return i.ToString(); });
2010 के लिए अद्यतन किया गया
List<int> l1 = new List<int>(new int[] { 1,2,3 } );
List<string> l2 = l1.ConvertAll<string>(x => x.ToString());
x => x.ToString()
एक ही तरह के आईएल के लिए संकलित किया गया है delegate(int x) { return x.ToString(); }
, इस मामले में महत्वपूर्ण बात यह है कि एक सी # कंपाइलर (सी # संस्करण) है जो जानता है कि क्या =>
है। फ्रेमवर्क और रनटाइम (.NET संस्करण) को इसके लिए कोई विशेष सुविधाओं की आवश्यकता नहीं है, इसलिए .NET 2.0 यहां ठीक है।
<string>
और यह अभी भी काम करता है। इसे सिर्फ बनानाl1.ConvertAll(x => x.ToString());
C # 2.0 करने में सक्षम है List<T>.Convert
? यदि ऐसा है, तो मुझे लगता है कि आपका सबसे अच्छा अनुमान एक प्रतिनिधि के साथ उपयोग करना होगा:
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Convert(delegate (int i) { return i.ToString(); });
उन पंक्तियों के साथ कुछ।
ग्लेन का उत्तर अपवोट करें, जो शायद सही कोड है ;-)
आप में सक्षम करने के लिए इसे सीधे डाली के रूप में कोई स्पष्ट या अस्पष्ट डाली स्ट्रिंग के लिए पूर्णांक से मौजूद नहीं हो सकता है, यह होता है .ToString () जैसे शामिल विधि के लिए: -
foreach (int i in intList) stringList.Add(i.ToString());
संपादित करें - या जैसा कि अन्य लोगों ने शानदार ढंग से बताया है, intList.ConvertAll (प्रतिनिधि (int i) {return i.ToString ();}) का उपयोग करें ;, हालांकि स्पष्ट रूप से आपको अभी भी उपयोग करना है। TString () और यह रूपांतरण के बजाय है। अभिनेता का चयन।
int
स्पष्ट रूप से या स्पष्ट रूप से परिवर्तनीय थे string
, इसका मतलब यह नहीं है कि List<int>
इसका एक अंतर्निहित या स्पष्ट रूपांतरण है List<string>
।
आपको एक नई सूची बनानी होगी। अंतर्निहित बिट अभ्यावेदन List<int>
और List<string>
पूरी तरह से असंगत हैं - 64-बिट प्लेटफ़ॉर्म पर, उदाहरण के लिए, व्यक्तिगत सदस्य समान आकार नहीं हैं।
यह एक के List<string>
रूप में इलाज करना सैद्धांतिक रूप से संभव है List<object>
- यह आपको सह-अस्तित्व और विरोधाभासी की रोमांचक दुनिया में ले जाता है, और वर्तमान में C # या VB.NET द्वारा समर्थित नहीं है।
result = listOfInt.Select(i => i.ToString(CultureInfo.InvariantCulture)).ToList()
मापदंडों को बदलें और अपने मापदंडों को सूचीबद्ध करें