C# 如何在C中要求用户输入有限的次数#
我是C#的新手,我正在尝试编写一个程序,从用户那里获取数字输入选项(从1到13,因此它最多只需要13次输入),然后将用于检查CSV文件中的匹配位置。然而,我不知道该怎么做。目前我有:C# 如何在C中要求用户输入有限的次数#,c#,C#,我是C#的新手,我正在尝试编写一个程序,从用户那里获取数字输入选项(从1到13,因此它最多只需要13次输入),然后将用于检查CSV文件中的匹配位置。然而,我不知道该怎么做。目前我有: Start: Console.WriteLine("Please enter some Location IDs: "); int itemID = Convert.ToInt32(Console.ReadLine());
Start:
Console.WriteLine("Please enter some Location IDs: ");
int itemID = Convert.ToInt32(Console.ReadLine());
if (itemID <= 13)
{
Console.WriteLine("Please Enter another ID: ");
}
else if (itemID > 13)
{
Console.WriteLine("There are only 13 locations available.");
goto Start;
}
if (itemID == 0)
{
Console.WriteLine("Sorry, there is no Location 0.");
}
开始:
Console.WriteLine(“请输入一些位置ID:”);
int itemID=Convert.ToInt32(Console.ReadLine());
如果(项目ID 13)
{
WriteLine(“只有13个位置可用”);
转到开始;
}
if(itemID==0)
{
WriteLine(“对不起,没有位置0”);
}
我使用一个标签返回循环的开始。这是个坏主意吗?任何帮助都将不胜感激。干杯
我使用一个标签返回循环的开始。这是个坏主意吗
对。今天将是学习的好日子,而。思考的两种方法是:
do statement while(condition);
(1) 你知道如果
做了什么if(condition)语句
计算条件
,如果为真,则执行语句
一次
而
做的几乎是相同的事情<代码>while(condition)语句
计算条件
,如果为真,则执行语句
,然后再次检查条件
。。。依此类推,直到条件
为false
(2) 如果您理解goto,您可以用goto
来表达<代码>while(condition)语句与以下语句相同:
Continue: if (!condition) goto Break;
statement
goto Continue;
Break:;
如果您可以使用goto
编程,则可以使用while
更清楚地编程相同的内容
但是,在您的特定情况下,您可能希望使用一个do
循环,这是一个倒置的,而:
do statement while(condition);
具有“执行语句,然后检查条件;如果为真,则再次执行语句…直到条件为假。do
具有以下语义:
Restart: statement
Continue: if (condition) goto Restart;
Break:;
另外,使用int.TryParse()
而不是Convert.ToInt32
。使用TryParse
您可以更轻松地处理不正确的输入--您不需要捕获异常。似乎-这只会在用户输入大于13的id
时启动。如果他们输入小于13的内容会怎么样?它只要求输入另一个id
,但不允许输入可能您还没有读过关于循环的文章。我建议继续您的C#研究,并在您了解可用的不同循环语句后重新思考这个问题。Max会这样做。您的问题和代码冲突。您说您应该最多只要求13次输入,但您的代码表明您希望只允许输入高达13的值(并无限期地询问,直到他们正确输入为止)。我认为应该删除“13次”中的“次”一词。