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

Nav*_*r V 1 .net c# string split

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

// Reading Grid's row and col size
gridInputValues = Console.ReadLine().Split(' ');
gridRow = int.Parse(gridInputValues[0]);
gridCol = int.Parse(gridInputValues[1]);
gridMatrix2D = new int[gridRow, gridCol];
// Reading Grid's row * col matrix values
for( int r = 0; r < gridRow; r++ ) 
{
    //string[] inputVal = Console.ReadLine().Split('');
    //string[] inputVal = Console.ReadLine().Split(string.Empty));
    string inputVal = Console.ReadLine();
    for( int c = 0; c < gridCol; c++ ) 
    {
        //gridMatrix2D[r, c] = int.Parse(inputVal[c]);
        gridMatrix2D[r, c] = int.Parse(inputVal[c].ToString());
    }
Run Code Online (Sandbox Code Playgroud)

为什么不,

string[] inputVal = Console.ReadLine().Split('');
Run Code Online (Sandbox Code Playgroud)

要么

string[] inputVal = Console.ReadLine().Split(string.Empty));
Run Code Online (Sandbox Code Playgroud)

作品?

或者,在这种情况下使用string.ToString是好的做法吗?

要么

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

编辑1:

输入:

 "12345" // type is string
Run Code Online (Sandbox Code Playgroud)

预期产出:

 "1","2","3","4","5" // type is string[]
Run Code Online (Sandbox Code Playgroud)

vto*_*ola 5

关于什么:

Console.ReadLine().ToArray()
Run Code Online (Sandbox Code Playgroud)

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

@Tim Schmelter正确地指出了String.ToCharArray.