我是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.");
}
我正在使用标签返回循环的开头。这是一个坏主意吗?任何帮助,将不胜感激。干杯!
答案 0 :(得分:6)
我正在使用标签返回循环的开头。这是一个坏主意吗?
是的。今天是学习while
的好日子。思考while
的两种方法:
(1)您知道if
的作用。 if(condition) statement
评估condition
,如果为true,则执行statement
一次。
while
做几乎相同的事情。 while(condition) statement
评估condition
,如果为true,则执行statement
,然后再次检查condition
,依此类推,直到condition
为假。
(2)如果您了解goto,则可以用while
来表示goto
。 while(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:;