C#:尝试一个简单的项目

C#:尝试一个简单的项目,c#,while-loop,C#,While Loop,我是C#的新手。我想用一些循环来做一个简单的程序。 我想让我的程序循环通过用户输入的数字,如果它小于一个数字,那么继续猜测,但一旦他们输入数字25,我想让它说圣诞快乐。。请帮忙 int number; do { Console.WriteLine("Guess a number between 20 through 25"); number = int.Parse(Console.ReadLine()); } while (number < 25); 整数; 做 {

我是C#的新手。我想用一些循环来做一个简单的程序。 我想让我的程序循环通过用户输入的数字,如果它小于一个数字,那么继续猜测,但一旦他们输入数字25,我想让它说圣诞快乐。。请帮忙

int number;

do
{
    Console.WriteLine("Guess a number between 20 through 25");
    number = int.Parse(Console.ReadLine());
}  while (number < 25);
整数;
做
{
Console.WriteLine(“猜一个介于20到25之间的数字”);
number=int.Parse(Console.ReadLine());
}数量<25人;
C#初学者

整数;
做
{
Console.WriteLine(“猜一个介于20到25之间的数字”);
number=int.Parse(Console.ReadLine());
}数量<25人;
如果(数字=25)
Console.WriteLine(“圣诞快乐”);
尝试以下操作:

int number = 0;
while (number != 25)
{
    Console.WriteLine("Guess a number between 20 through 25");
    number = int.Parse(Console.ReadLine());
    if (number != 25)
        Console.WriteLine("Keep guessing");
    else
        Console.WriteLine("Merry Christmas");
}

如果您希望他们能够输入大于25的数字,这是正确的。

我不确定您的问题是什么,但我有几点意见:

  • 如果用户输入无法解析为int的内容,将引发异常。请使用TryParse修复此问题

  • 如前所述,如果用户输入的数字大于25(如26),循环将退出

  • 修改代码:

    int number;
    do
    {
        Console.WriteLine("Guess a number between 20 through 25");
        int.TryParse(Console.ReadLine(), out number);
    } while (number != 25);
    

    如果您永远不打算将输入用作数字,则更安全的做法是将其保留为字符串,特别是因为您只检查“25”的确切值。 另外,添加一种不用输入25就可以退出的方法对用户来说也很好,比如输入一个空行

    我会这样写:


    仅供参考:Console.ReadLine()将要求用户输入一系列数字和密钥。如果他们输入26怎么办?循环将在值超过25时退出,并且仍然存在一个问题,即如果用户不输入任何内容,该怎么办?
    int number;
    
    do
    {
        Console.WriteLine("Guess a number between 20 through 25");
        number = int.Parse(Console.ReadLine());
    } while (number != 25);
    
    Console.WriteLine("Merry Christmas");
    
    int number;
    do
    {
        Console.WriteLine("Guess a number between 20 through 25");
        int.TryParse(Console.ReadLine(), out number);
    } while (number != 25);
    
        static void x()
        {
            Console.WriteLine("Guess a number between 20 through 25");
            string input = null;
            while(true)
            {
                input = Console.ReadLine();
                if (input == null || input.Length == 0)
                    break; // will exit the loop
                if (input != "25")
                    Console.WriteLine("Keep guessing");
                else
                {
                    Console.WriteLine("Merry Christmas");
                    break;
                }
            }
        }
    
            int myNumber;
    
            Guess: Console.Write("Guess a number between 20 through 25: ");
            myNumber = int.Parse(Console.ReadLine());
    
                while(myNumber != 25)
                {
                    Console.WriteLine("Keep Guessing");
                    goto Guess;
                }
                Console.Write("Merry Christmas");
    
            Console.ReadKey();