使用“if"在c#中给出自定义错误消息

本文关键字:自定义 消息 错误 if quot 使用 | 更新日期: 2023-09-27 18:07:05

我刚刚开始学习如何使用c#编程我用的是visual studio 2013,我不知道c#的版本

这里我有一个代码来绘制命令应用程序的背景

        for (; ; )
        {
            Console.WriteLine("Give a number to select a colour between 0-15? ");
            ConsoleColor renk;
            renk = (ConsoleColor)Convert.ToInt32(Console.ReadLine());


            Console.BackgroundColor = renk;
            Console.Clear();
        }

问题是,当用户输入任何颜色时,它会绘制背景,并循环到开始,所以用户可以输入new one(number)

,

当用户不输入数字并按回车键时,它只会给出一个错误并崩溃。当用户没有给出数字时,我如何显示消息并将其循环到开始?

我试过了;

               if(renk)
            {
                Console.WriteLine("My error message!");
            }

但是我不知道如何定义"如果"renk"没有定义"比如,如果我试着在"renk"是<5然后我会写;

         if(renk<5)
            {
                Console.WriteLine("My error message!");
            }

       else
            {
                bla bla bla
            }

使用“if"在c#中给出自定义错误消息

使用int。TryParse用于检查字符串数字输入。
只有当一个数字被输入时,你才会输入"if"(你会在num变量中有这个数字)。

for (; ; )
{
       Console.WriteLine("Give a number to select a colour between 0-15? ");
       ConsoleColor renk;
       int num;
       string strNum = Console.ReadLine();
       if(int.TryParse(strNum, out num) && (num >= 0 && num <= 15))
       {
            Console.BackgroundColor = (ConsoleColor)num;
            Console.Clear();
       }
       else
       {
             Console.WriteLine("Error");
       }  
}
int inputNumber = 0;
for (; ; )
{
    Console.WriteLine("Give a number to select a colour between 0-15? ");
    ConsoleColor renk;
    if(int.TryParse(Console.ReadLine(),out inputNumber) && (inputNumber>=0 && inputNumber<=15))
    {
        renk = (ConsoleColor)Convert.ToInt32(inputNumber);
        Console.BackgroundColor = renk;
        Console.Clear();
    }
    else
    {
        Console.WriteLine("No Input Received! Quitting!");
        break;
    }
}