c#如何使console.readline只检测特定的数字

时间:2016-11-12 17:30:57

标签: c#

我想要的是什么:

检测用户的整数,但前提是它介于两个特定数字之间 - 例如,介于1到4之间。

我目前是怎么做的:

使用Console.ReadLine()获取输入,然后紧接着是“if”语句,以验证它确实在1到4之间。

我不满意这需要多少行。有更紧凑的解决方案吗? (在学校学习c#,我们最近完成了'for'循环。我想我可以将ReadLine放在一个循环中,这样它就会要求一个值,直到检测到的数字低于5以上0,但有更好的方法吗?)

2 个答案:

答案 0 :(得分:0)

while循环或do-while循环应该可以正常工作。另请注意,在我的示例中,我引入了int.TryParse,因为如果用户填写了其他内容而不是int,则会抛出异常。

Microsoft MSDN Loops Documentation

while循环:

int number = -1;
while (number <= 0 || number > 4)
{
    var input = Console.ReadLine();
    int.TryParse(input, out number);
}

Console.WriteLine("Number is {0}", number);

do-while循环:

int number;
do
{
    var input = Console.ReadLine();
    int.TryParse(input, out number);

} while (number <= 0 || number > 4);

Console.WriteLine("Number is {0}", number);

答案 1 :(得分:0)

person_1.name

循环,直到您获得有效的Person,如果您获得有效的int x = 0; Console.Write("Enter a value between 1 and 4"); while (!(int.TryParse(Console.ReadLine(), out x) && (x > 0 && x < 5))) Console.Write("Wrong Value, try again: "); 值,那么int应该int其他方式在循环中运行。

x方法用于检查给定值是否可转换为1,2,3,4,如果是可转换的,则将转换后的值返回为int.TryParse param