17

我有一个想要清除并重置为 0 值的二维数组。我知道如何使用清除向量(一维数组),Array.Clear()但我不知道清除二维矩阵的最佳方法。

double D = new double[10];  
Array.Clear(D, 0, D.Length);

如何清除 2D N x M 数组

double D[,] = new double[N,M];

感谢您提供的任何帮助。

4

3 回答 3

39

Array.Clear也适用于多维数组:

double[,] D = new double[M,N];
Array.Clear(D, 0, D.Length);

注意,不需要自己计算长度,因为该Length属性返回元素的总数,而不管维度的数量是多少:

一个 32 位整数,表示 Array 的所有维度中的元素总数;如果数组中没有元素,则为零。

于 2013-10-29T21:29:08.797 回答
1

您可以使用相同的方法,但您可能必须计算实际length参数值:

double D[,] = new double[N,M];
Array.Clear(D, 0, M*N);

我会使用M*N它,因为它更具可读性,而且我不知道Length二维数组返回什么属性。

于 2013-10-29T21:28:46.030 回答
0

只需重新分配它。

double D[,] = new double[N,M];

创建一个空的二维数组。

于 2013-10-29T21:28:43.820 回答