我想要的是什么:
检测用户的整数,但前提是它介于两个特定数字之间 - 例如,介于1到4之间。
我目前是怎么做的:
使用Console.ReadLine()
获取输入,然后紧接着是“if
”语句,以验证它确实在1到4之间。
我不满意这需要多少行。有更紧凑的解决方案吗? (在学校学习c#,我们最近完成了'for
'循环。我想我可以将ReadLine
放在一个循环中,这样它就会要求一个值,直到检测到的数字低于5以上0,但有更好的方法吗?)
答案 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