如何合并未知数量的数组?
How to merge unknown amount of arrays?
我正在制作驾驶执照考试练习题。用户可以选择多个类别来获取问题。我想从这个数组中取出票并将它们全部放在一个数组中。
这是我的代码:
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
从用户输入的最后一个类别中获取门票。如何合并所有选定类别的门票?
数组不是具有动态元素数量的列表的正确数据类型。您可以改用 List<Ticket>
。
示例代码:
var ticketList = new List<Ticket>();
...
// repeat as often as required
ticketList.AddRange(DrivingLicenceStorage.Categories.ElementAt(Ids).Tickets);
...
return ticketList.ToArray();
我正在制作驾驶执照考试练习题。用户可以选择多个类别来获取问题。我想从这个数组中取出票并将它们全部放在一个数组中。 这是我的代码:
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
从用户输入的最后一个类别中获取门票。如何合并所有选定类别的门票?
数组不是具有动态元素数量的列表的正确数据类型。您可以改用 List<Ticket>
。
示例代码:
var ticketList = new List<Ticket>();
...
// repeat as often as required
ticketList.AddRange(DrivingLicenceStorage.Categories.ElementAt(Ids).Tickets);
...
return ticketList.ToArray();