C# 如何在C中要求用户输入有限的次数#

C# 如何在C中要求用户输入有限的次数#,c#,C#,我是C#的新手,我正在尝试编写一个程序,从用户那里获取数字输入选项(从1到13,因此它最多只需要13次输入),然后将用于检查CSV文件中的匹配位置。然而,我不知道该怎么做。目前我有: Start: Console.WriteLine("Please enter some Location IDs: "); int itemID = Convert.ToInt32(Console.ReadLine());

我是C#的新手,我正在尝试编写一个程序,从用户那里获取数字输入选项(从1到13,因此它最多只需要13次输入),然后将用于检查CSV文件中的匹配位置。然而,我不知道该怎么做。目前我有:

            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次”中的“次”一词。