使用特定大小定义数组。但是,如果我想要一个动态增长的数组,我使用List类(来自命名空间System.Collections.Generic)。但是这门课程怎么样?列表如何动态增长?
答案 0 :(得分:2)
using System;
using System.Collections.Generic;
namespace ImmutableLists
{
class Program
{
static void Main()
{
List<int> nums = new List<int>(); ;
for (int i=0; i<=20; i++)
{
nums.Add(i);
Console.WriteLine("{0} : {1}", i, nums.Capacity);
}
Console.ReadKey();
}
}
}
列表是不可变的 - 即不能改变大小。这怎么工作呢?它们被分配空间,当它被击中时,它们被倾倒,另一个列表被设置为具有之前容量的两倍&amp;新的形成了。当然都是无形的。