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

时间:2019-02-28 21:56:33

标签: c#

我是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.");

            }

我正在使用标签返回循环的开头。这是一个坏主意吗?任何帮助,将不胜感激。干杯!

1 个答案:

答案 0 :(得分:6)

  

我正在使用标签返回循环的开头。这是一个坏主意吗?

是的。今天是学习while的好日子。思考while的两种方法:

(1)您知道if的作用。 if(condition) statement评估condition,如果为true,则执行statement 一次

while做几乎相同的事情。 while(condition) statement评估condition,如果为true,则执行statement,然后再次检查condition,依此类推,直到condition为假。

(2)如果您了解goto,则可以用while来表示gotowhile(condition) statement与:

Continue: if (!condition) goto Break;
statement
goto Continue;
Break:;

如果您可以使用goto进行编程,则可以使用while来更清楚地编程相同的内容

不过,在您的特定情况下,您可能想使用do循环,这是一个倒置的while

do statement while(condition);

具有“执行该语句,然后检查条件的行为;如果为true,请再次执行该语句...直到条件为假。do具有以下语义:

Restart: statement
Continue: if (condition) goto Restart;
Break:;