2011-09-19 14 views
14

मैं स्ट्रिंग की सरणी को int की सूची में कैसे परिवर्तित कर सकता हूं? (उन्हें अपनी विधि के साथ एक-एक करके परिवर्तित किए बिना)मैं स्ट्रिंग [] को <int> सूची में कैसे परिवर्तित कर सकता हूं?

Google में खोज से मैंने ToList() और ConvetAll() नामक विधियों को देखा है, लेकिन मैं उन्हें टाइप नहीं कर सकता, वह क्यों है?

क्या मैं कोशिश की है है:

new list<int>((int[])s.Split(','));

और मैं [] int करने के लिए [] :(

+0

आपके तार क्या दिखते हैं? – Gabe

+0

बस संख्याएं (इनट्स) –

+0

[स्प्लिट स्ट्रिंग का संभावित डुप्लिकेट, एक पंक्ति में ToList () को परिवर्तित करें] (https://stackoverflow.com/questions/911717/split-string-convert-tolistint-in-one-line) –

उत्तर

32

एक द्वि-चरणीय प्रक्रिया शामिल नहीं है त्रुटि नहीं कर सकते कि मैं स्ट्रिंग परिवर्तित हो रही है । यहाँ पहली बार एक पूर्णांक के लिए तार कन्वर्ट करने के लिए है, तो एक सूची में सरणी परिवर्तित है आप LINQ का उपयोग कर सकते हैं, तो सबसे आसान तरीका उपयोग करने के लिए है:।

stringArray.Select(x => Int32.Parse(x)).ToList(); 
+9

या छोटा: 'stringArray.Select (Int32.Parse) .सूची(); ' – BrokenGlass

+0

यदि कोई अपवाद को रोकने के लिए' TryParse' 'शामिल करना चाहता है: ' int i; सूची intList = stringArray.Split (',')। चुनें (एस => int.TryParse (एस, आउट i)? I: -1) .सूची(); ' –

0

Assumi

int[] ints = new int[values.Count]; 

int counter = 0; 
foreach (string s in values) { 
    ints[counter++] = int.Parse(s); 
} 

खुद overcomplicate मत करो :)

11

अपने कोड से एक संकेत हो रही है:

var listOfInts = s.Split(',').Select(Int32.Parse).ToList(); 
0
var s = "1,2,3,4,5,6,7,8,9"; 
var result = s.Split(',').Select(Convert.ToInt32).ToList(); 
0

प्रयास करें

int x = 0; 

var intList= stringList.Where(str => int.TryParse(str, out x)).Select(str => x).ToList(); 
का उपयोग एनजी values तार की अपनी सूची है
संबंधित मुद्दे

 संबंधित मुद्दे