我有一个我要清除的2D数组并重置为0值。我知道如何使用Array.Clear()
清除矢量(1D数组),但我不知道清除2D矩阵的最佳方法。
double D = new double[10];
Array.Clear(D, 0, D.Length);
如何清除2D N x M阵列
double D[,] = new double[N,M];
感谢您提供的任何帮助。
答案 0 :(得分:33)
Array.Clear
也适用于多维数组:
double[,] D = new double[M,N];
Array.Clear(D, 0, D.Length);
注意,不需要自己计算长度,因为Length
属性返回元素的总数,而不管维数是多少:
一个32位整数,表示数组所有维度中的元素总数;如果数组中没有元素,则为零。
答案 1 :(得分:2)
您可以使用相同的方法,但可能需要计算真实的length
参数值:
double D[,] = new double[N,M];
Array.Clear(D, 0, M*N);
我会使用M*N
因为它更具可读性,而且我不知道2-dimmentional数组返回的Length
属性。
答案 2 :(得分:1)
重新分配它。
double D[,] = new double[N,M];
创建一个空的2D数组。