System.Array不包含ToArray的定义

时间:2014-09-29 08:48:43

标签: c# asp.net

如何在int[]之后获取此.Split()数组?

string s = "1,2,3,4";
int[] a = s.Split(',').ToArray<int>();

2 个答案:

答案 0 :(得分:15)

Split不会给你神奇的int值,它返回一个字符串数组。所以你必须转换。

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

答案 1 :(得分:6)

我会像Raphaël所说的那样做,但如果你不熟悉lambda表达式(x =&gt; ..部分),你可以使用它。两者都会给你一个int数组,Raphaëls例子更可取,但Lambda表达式在你不知道它们如何工作时可能会很吓人:P(基本上它意味着“对于每个字符串x,做Convert.ToInt32(x) ”

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