我试图让一个控制台应用程序接受5个数字并用它填充一个数组,但这段代码的问题是,它只接受4个数字,并用null填充最后一个索引,我该如何解决这个问题?
string[] numbers = new string[4];
Console.WriteLine("Hi, Enter 5 numbers!");
ConsoleKeyInfo key;
for (int i = 0; i < numbers.Length; i++)
{
string _val = "";
do
{
key = Console.ReadKey(true);
if (key.Key != ConsoleKey.Backspace)
{
double val = 0;
bool _x = double.TryParse(key.KeyChar.ToString(), out val);
if (_x)
{
_val += key.KeyChar;
Console.Write(key.KeyChar);
}
}
else
{
if (key.Key == ConsoleKey.Backspace && _val.Length > 0)
{
_val = _val.Substring(0, (_val.Length - 1));
Console.Write("\b \b");
}
}
}
while (key.Key != ConsoleKey.Enter);
Console.WriteLine();
numbers[i] = _val;
}
Console.WriteLine();
for(int i = 0; i < numbers.Length; i++)
{
Console.WriteLine(i + " : " + numbers[i]);
}
Console.WriteLine(numbers.Length);
Console.ReadKey();
}发布于 2021-06-08 22:09:13
在代码中,新数= string[] string4;表示数字数组大小为4,数组从0索引开始。因此,最后一个索引不为空。将string4更改为string5。希望这能解决你的问题。
https://stackoverflow.com/questions/67888407
复制相似问题