【发布时间】:2021-10-10 17:56:59
【问题描述】:
需要存储许多变量,起初使用数组,但是当我尝试使用单独的变量调整数组中的位置数量时出现错误。网上看了下,有人说,最好用List。
我使用起来非常混乱。试图在逻辑上使用它,但我就是不明白。
所以我设置了我的列表:
public List<int> TESTValues = new List<int>(10);
从逻辑上讲,对我来说,应该有一个包含 10 个职位的列表,但没有,它是空的。如果我使用它只会添加一个变量:TESTValues.Add(1); 它只在下一个可用位置添加 1 个新变量,当它应该是位置 11 时,它是 1 对吗?
假设我会以某种方式获得一个包含 10 个变量的列表,那么我将如何在列表的第 8 位引用一个变量,甚至更新它?我尝试使用类似的东西:TESTValues.IndexOf(8) = 40; 遗憾的是这不起作用。
有人对这些列表以及我如何使用它们有很好的了解吗?解释他们?原以为 List 比 Array 更简单,现在看来正好相反。
【问题讨论】:
-
阅读文档。 [
LIst<int>(10)]((docs.microsoft.com/en-us/dotnet/api/…) 导致创建初始容量为 10 个元素的整数列表,您必须添加该列表。将元素添加到列表后,您可以按索引引用它。例如 @ 987654327@ 其中 2 是在列表中找到 30 的位置。 -
这是
Capacity而不是Count请阅读文档docs.microsoft.com/en-us/dotnet/api/… -
太棒了。
Debug.Log(TESTValues[1]);有效,但我仍然不明白列表声明。我可以用 10 声明它并添加 5,但是当我运行代码时,我只有 5 而不是 15。 -
很好,我也可以使用
TESTValues[1] = 10;来更新变量。一些很棒的东西。仍然对尺寸声明部分感到困惑。我是否声明public List<int> TESTValues = new List<int>();并在单独的行上执行TESTValues.Capacity(10);之类的操作? -
没有。创建列表时不需要声明大小。它将扩展到您添加的尽可能多的元素。