我正在手动将较小的数组复制到较大的数组中:
T is constrained to class, new()
为什么这会触发 GC?对新数组的赋值不是通过引用吗?为什么旧数组的旧元素仍然被垃圾回收?第一个循环中的赋值是否真的复制了它们?
public void Resize()
{
T newArray = new T[oldArray.Length * 2];
for (int i = 0; i < oldArray.Length; i++)
{
newArray[i] = oldArray[i];
}
for (int i = oldArray.Length; i < newArray.Length; i++)
{
// Assign new elements to the new array
}
oldArray = newArray;
}