用户输入从for循环中断

时间:2020-03-22 12:16:52

标签: c# for-loop console-application

例如,如何使用字母“ 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;
                }
            }

2 个答案:

答案 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;
}