3 回答
TA贡献1878条经验 获得超4个赞
我会用 Array.Clear()
int[][] jagged = new int[][] {
new int[] { 1, 2, 3, 4 },
new int[] { 11, 12 },
new int[] { 21, 22, 23 }
};
for (int i = 0; i < jagged.Length; i++)
{
Array.Clear(jagged[i], 0, jagged[i].Length);
}
代替
for (int i = 0; i < jagged.Length; i++)
{
for (int j = 0; j < jagged[i].Length; j++)
{
jagged[i][j] = 0;
}
}
TA贡献1824条经验 获得超5个赞
是的,我相信您将不得不在子阵列上循环。
锯齿状数组是数组的数组。该default( refenence type )为空引用。因此,一个清晰的锯齿状数组将是一个空引用数组。
但是,您希望清除这些数组的每个成员,因此:
foreach (int[] subArray in jaggedArr)
{
Array.Clear (subArray, 0, subArray.Length);
}
TA贡献1828条经验 获得超6个赞
通过将null分配为使数组准备好进行垃圾回收,从而删除所有现有引用就足够了。 (array=null)
然后可以通过调用强制垃圾回收(array.Collect())
,
- 3 回答
- 0 关注
- 202 浏览
添加回答
举报