c# - 如何强制控制台只接受一定范围内的数字?

标签 c# console-application

我有这样的代码,我输入一个名称,然后输入一个整数。然后应用程序将根据指定的整数重复输入的名称。我遇到的问题是,我只希望用户能够重复名称最多 10 次,最少 1 次。这是我迄今为止所拥有的。

Console.Write("PLEASE ENTER YOUR FIRST AND LAST NAME: ");
string Name = Console.ReadLine();

Console.Write("Enter the number of times you wish for me to repeat your name, " + Name );
int number = Int32.Parse(Console.ReadLine());

for (int i = 0; i < number; i++)        
    Console.WriteLine(""+ Name);
Console.ReadKey();

编辑:如果有人看到一种更简单的方法来完成我所拥有的事情,我很乐意提出建议!

最佳答案

在打印姓名之前,您需要过滤并验证输入的数字是否最小为 1,最大为 10。你可以这样做:

 Console.Write("PLEASE ENTER YOUR FIRST AND LAST NAME: ");
        string Name = Console.ReadLine();

        Console.Write("Enter the number of times you wish for me to repeat your name, " + Name);

        int number = 0;

        do
        {
            Int32.TryParse(Console.ReadLine(), out number);
            if (number > 10 || number < 1)
                Console.WriteLine("Please input numbers between 1 to 10");

        } while (number > 10 || number < 1);

            for (int i = 0; i < number; i++)
                Console.WriteLine("" + Name);
        Console.ReadKey();

我正在做一个do-while在这里循环。除非满足 while 循环,否则它将不断验证数字是否在指定的范围内,否则将退出并打印名称。

关于c# - 如何强制控制台只接受一定范围内的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46679133/

相关文章:

c# - 如何根据该页面上的链接从网页下载图片?

c# - SqlGeography 空间操作缓慢 - SQL Server 2016

c# - 如何在 ASP.NET 中将下拉列表与字符串数组绑定(bind)?

.net-core - 如何为控制台应用程序设置 ElmahCore?

linux - 我如何知道用户在使用 ncurses (Linux) 的控制台中按下了 ESC 键?

c# - 使用 Twitterizer 更新 Twitter 状态时出错

c# - 更新 Monotouch.Dialog RootElement

delphi - 如何将版本信息添加到我的控制台应用程序?

控制台应用程序的 C# 箭头键输入

c++程序在输入时跳过行[控制台应用程序]