2014-09-29 76 views

回答

13

Split不會給你神奇的int值,它返回一個字符串數組。所以你必須轉換。

s.Split(',').Select(x => Convert.ToInt32(x)).ToArray(); 
+1

這就是我想我是用'.ToArray 做()' – 2014-09-29 08:52:16

+1

會不會'。選擇(轉換。 ToInt32)'工作也一樣好? – 2014-09-29 08:52:34

+0

@BenjaminGruenbaum不是在這種情況下,我想(可能是因爲它們是Convert.ToInt32的多個重載?)。 – 2014-09-29 08:54:31

6

我會像Raphaël說的那樣做,但如果您不熟悉lambda表達式(x => ..部分),則可以使用它。兩者都會給你一個int的數組,Raphaëls的例子是可取的,但是當你不知道它們是如何工作時,Lambda表達式可能會很嚇人:P(基本上它的意思是「對於每個字符串x,做Convert.ToInt32(x) 」

int[] a = s.Split(',').Select(int.Parse).ToArray(); 
+0

@RaphaëlAlthaus確信它會編譯,爲什麼不呢? ?這只是一個方法組。無需將東西包裝在函數包裝中。 – 2014-09-29 08:59:57

+0

@RaphaëlAlthaus不,你的代碼有一個更多的功能.. – 2014-09-29 09:02:19

+0

@ L.B yup,得到刷新我的方法組定義;) – 2014-09-29 09:04:00

相關問題