gpt4 book ai didi

c# - 如何在自定义索引的列表中插入对象

转载 作者:太空狗 更新时间:2023-10-29 20:43:29 25 4
gpt4 key购买 nike

我有一个定义为包含 120 个值的空列表,我想在索引 (45) 处插入一个元素,即使该列表当前为空。这可能吗?

public List<Ticket> Tickets = new List<Ticket>(120);

Tickets.Insert(45,ticket); // Here I am getting the ArgumentOutOfRangeException

最佳答案

你把链表的初始内部容量设置为120,链表还是空的。

List<T>可以容纳任意数量的元素。在内部,它使用一个数组来存储它们。如果数组变满,列表将分配一个新的更大的数组。如果你事先知道项目的数量,你可以在构造列表时设置内部数组的大小。这样您就可以避免不必要的内存分配。

你可以使用数组:

Ticket[] tickets = new Ticket[120];
tickets[45] = ticket

Dictionary<int, Ticket>

Dictionary<int, Ticket> tickets = new Dictionary<int, Ticket>();
tickets.Add(45, ticket);

或者创建一个 List<Ticket>持有 120 个空值:

List<Ticket> tickets = Enumerable.Repeat(default(Ticket), 120).ToList();

关于c# - 如何在自定义索引的列表中插入对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34437227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com