我想用包含逗號分隔數字列表的字符串初始化一個int數組。將逗號分隔的整數列表轉換爲數組
我試圖直接分配字符串數組,
string sizes = "2,10,65,10";
int[] cols = new int[] { sizes };
,但它顯然失敗:
不能隱式轉換類型 '字符串' 到 '廉政'
如何將字符串轉換爲整數序列?
我想用包含逗號分隔數字列表的字符串初始化一個int數組。將逗號分隔的整數列表轉換爲數組
我試圖直接分配字符串數組,
string sizes = "2,10,65,10";
int[] cols = new int[] { sizes };
,但它顯然失敗:
不能隱式轉換類型 '字符串' 到 '廉政'
如何將字符串轉換爲整數序列?
你想要一行嗎?使用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。同意'Select(x => int.Parse(x))'是簡單的版本,複雜的是'.Split(',')。Select(int.Parse).ToArray()':) –
@marcinjuraszek謝謝花花公子貢獻。 –
如果其中一個項目不是Int,會拋出異常嗎?像「2,6,ABC,25」? –
1.'.Split()'2.投3喝點啤酒。 (按照特定的順序) – zerkms
「我想要一件簡單而不復雜的事情,如果可能在一行中」---學習是一個迭代過程。首先學習如何以任何方式實現它 - 甚至是臃腫的和30行,但得到它的工作。否則,你會複製粘貼所有你的「職業」 – zerkms
東西像IEnumerable s = sizes.split(); IEnumerable rsults = s.foreach(t => Convert.ToInt32(t));然後將結果放入數組中。 –
Killingsworth