例如,如何使用字母“ q”从for循环中中断。当我尝试执行以下代码时,出现错误“无法将类型int隐式转换为int []”
private static void EnterNumber()
{
int[] numbers = new int[8];
int q = 0;
for (int i = 0; i < numbers.Length; i++)
{
Write("Enter in an integer value or the letter q to quit: ");
numbers[i] = Convert.ToInt32(ReadLine());
if (numbers = q)
{
break;
}
}
答案 0 :(得分:1)
private static void EnterNumber()
{
int[] numbers = new int[8];
int q = 0;
for (int i = 0; i < numbers.Length; i++)
{
Write("Enter in an integer value or the letter q to quit: ");
var value = ReadLine();
int parsedInt;
if (int.TryParse(value, out parsedInt))
{
numbers[i] = value;
}
else if (value == "q")
{
break;
}
else
{
WriteLine("Unexpected input.");
}
}
}
答案 1 :(得分:-1)
尝试一下:
for (int i = 0; i < numbers.Length; i++)
{
Console.WriteLine("Enter in an integer value or the letter q to quit: ");
var input = Console.ReadLine();
if (new System.Text.RegularExpressions.Regex("^-[0-9]+$|^[0-9]+$").IsMatch(input))
numbers[i] = Convert.ToInt32(input);
else if (input == "q")
break;
}