如何合并未知数量的数组?
Posted
技术标签:
【中文标题】如何合并未知数量的数组?【英文标题】:How to merge unknown amount of arrays? 【发布时间】: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 Ni + 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循环之前就已经检查过了,在初始检查之后就再也没有使用过了。
【参考方案1】:
对于具有动态元素数量的列表,数组不是正确的数据类型。您可以改用List<Ticket>
。
示例代码:
var ticketList = new List<Ticket>();
...
// repeat as often as required
ticketList.AddRange(DrivingLicenceStorage.Categories.ElementAt(Ids).Tickets);
...
return ticketList.ToArray();
【讨论】:
@niniasabadze 如果您的答案适合您,请将其标记为已接受(答案左侧的复选标记)以上是关于如何合并未知数量的数组?的主要内容,如果未能解决你的问题,请参考以下文章