我有一个2D数组,我想要清空并重置为0值。我知道如何使用Array.Clear()
清空向量(1D数组),但是我不知道清空2D矩阵的最佳方法。
double D = new double[10];
Array.Clear(D, 0, D.Length);
如何清空一个二维 N x M 数组
double D[,] = new double[N,M];
感谢您可能提供的任何帮助。
我有一个2D数组,我想要清空并重置为0值。我知道如何使用Array.Clear()
清空向量(1D数组),但是我不知道清空2D矩阵的最佳方法。
double D = new double[10];
Array.Clear(D, 0, D.Length);
如何清空一个二维 N x M 数组
double D[,] = new double[N,M];
感谢您可能提供的任何帮助。
Array.Clear
也适用于多维数组:
double[,] D = new double[M,N];
Array.Clear(D, 0, D.Length);
请注意,不需要自己计算长度,因为Length
属性返回元素的总数,而不管维数如何:
32位整数,表示数组所有维度的元素总数;如果数组中没有元素,则为零。
你可以使用相同的方法,但是你可能需要计算你真正的length
参数值:
double D[,] = new double[N,M];
Array.Clear(D, 0, M*N);
M*N
,因为它更易读,而且我不知道Length
属性对于二维数组返回什么。只需重新分配它。
double D[,] = new double[N,M];
IList.Clear
的意思是“删除所有元素”,而不是“将所有元素设置为默认值”,但是看起来完全可以正常工作。 - p.s.w.g