如何在Split('')上使用空文字?
本文关键字:文字 Split | 更新日期: 2023-09-27 18:14:44
我需要读取一个非空格分隔值(0-9)的字符串。为什么我不能在String中使用空文字?分裂方法?
// 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());
}
为什么不呢,
string[] inputVal = Console.ReadLine().Split('');
或
string[] inputVal = Console.ReadLine().Split(string.Empty));
工作吗?
或者,正在使用字符串。ToString在这种情况下的好做法?
或
将字符串。每次迭代时ToString方法会增加运行时间?
编辑1:
输入: "12345" // type is string
预期输出: "1","2","3","4","5" // type is string[]
怎么样:
Console.ReadLine().ToArray()
你似乎不需要拆分字符串,你只需要单个字符。
或字符串。@Tim Schmelter正确指出ToCharArray
你可以试试这个
string[] inputVal = Console.ReadLine().Split(null);
或
string[] inputVal = Console.ReadLine().Split(new char[0], StringSplitOptions.RemoveEmptyEntries)
您可以使用字符:
int[] intArray = inputVal.Select(ch => ch-'0').ToArray();