【发布时间】:2021-12-07 03:39:50
【问题描述】:
我正在构建一个驾驶执照考试模拟测试。用户可以选择多个类别来获取问题。我想从这个数组中取票并将它们全部放在一个数组中。 这是我的代码:
public Ticket[] GetTickets(int numOfCat)
{
bool getTicks = true;
if (getTicks)
{
System.Console.WriteLine(DrivingLicenceStorage.Categories.Length);
for (int i = 0; i < numOfCat; i++)
{
System.Console.Write($"Enter category N{i + 1}: ");
var Ids = Convert.ToInt32(Console.ReadLine());
if (Ids > DrivingLicenceStorage.Categories.Length)
{
System.Console.WriteLine("Invalid Input");
System.Console.WriteLine("Try Again");
i--;
}
else
{
Tickets = DrivingLicenceStorage.Categories.ElementAt(Ids).Tickets;
getTicks = false;
}
}
}
return Tickets;
}
问题是Tickets 从用户输入的最后一个类别中获取票证。如何合并所有选择类别的票?
【问题讨论】:
-
我觉得还需要注意的是,设置
getTicks = false;是没有效果的,因为在进入for循环之前就已经检查过了,在初始检查之后就再也没有使用过了。