2013-11-04 163 views
0

我想用包含逗號分隔數字列表的字符串初始化一個int數組。將逗號分隔的整數列表轉換爲數組

我試圖直接分配字符串數組,

string sizes = "2,10,65,10"; 
int[] cols = new int[] { sizes }; 

,但它顯然失敗:

不能隱式轉換類型 '字符串' 到 '廉政'

如何將字符串轉換爲整數序列?

+3

1.'.Split()'2.投3喝點啤酒。 (按照特定的順序) – zerkms

+3

「我想要一件簡單而不復雜的事情,如果可能在一行中」---學習是一個迭代過程。首先學習如何以任何方式實現它 - 甚至是臃腫的和30行,但得到它的工作。否則,你會複製粘貼所有你的「職業」 – zerkms

+0

東西像IEnumerable s = sizes.split(); IEnumerable rsults = s.foreach(t => Convert.ToInt32(t));然後將結果放入數組中。 – Killingsworth

回答

4

你想要一行嗎?使用LINQ:

int[] cols = sizes.Split(',').Select(x => int.Parse(x)).ToArray(); 

在文件的頂部添加using System.Linq;,使其工作。

沒有LINQ你需要一個循環:

var source = sizes.Split(','); 
var cols = new int[source.Length]; 
for(int i = 0; i < source.Length; i++) 
{ 
    cols[i] = int.Parse(source[i]); 
} 
+1

+1。同意'Select(x => int.Parse(x))'是簡單的版本,複雜的是'.Split(',')。Select(int.Parse).ToArray()':) –

+0

@marcinjuraszek謝謝花花公子貢獻。 –

+0

如果其中一個項目不是Int,會拋出異常嗎?像「2,6,ABC,25」? –

相關問題