如何在Split('')上使用Empty literal

时间:2015-09-28 08:59:18

标签: c# .net string split

我需要读取一个非空格分隔值(0-9)的字符串。 为什么我不能在 String.Split 方法中使用Empty literal?

string[] inputVal = Console.ReadLine().Split('');

为什么不,

string[] inputVal = Console.ReadLine().Split(string.Empty));

 "12345" // type is string

作品?

可替换地, 在这种情况下使用 string.ToString 的好习惯吗?

每次迭代的 string.ToString 方法会增加运行时间吗?

编辑1:

输入:

 "1","2","3","4","5" // type is string[]

预期产出:

{{1}}

3 个答案:

答案 0 :(得分:5)

怎么样:

Console.ReadLine().ToArray()

您似乎不需要拆分字符串,只需要单个字符。

@Tim Schmelter正确地指出了

String.ToCharArray

答案 1 :(得分:2)

你可以试试这个

string[] inputVal = Console.ReadLine().Split(null);

string[] inputVal = Console.ReadLine().Split(new char[0], StringSplitOptions.RemoveEmptyEntries)

答案 2 :(得分:1)

您可以改为使用字符:

int[] intArray = inputVal.Select(ch => ch-'0').ToArray();