如何在C#中用零初始化二维数组

17

我是c#的新手。我有一个二维数组。我想用0初始化它。

这是我的代码。 在Array.fill()处我遇到了一个错误。

int N = elements;
int M N * 2;
int[,] amn = new int[M,N];
for(int i = 0; i < M; i++)
    Arrays.fill(amn[i], 0);
3个回答

29

你不需要做任何事情。

来自数组 (C# 编程指南)

数值数组元素的默认值为,引用元素的默认值为 null。

因此,当你编写以下代码时;

int[,] amn = new int[M,N];

所有元素初始化为0

您可以在调试器上看到;

enter image description here


5
据我所记,数组元素会被初始化为0或引用类型的null。因此,如果你创建一个int数组,它应该只有零。更多关于数组的信息,请阅读此文。

数值数组元素的默认值为零,引用元素的默认值为null。


3
整数数组默认情况下会被初始化为0。因此,以下代码在功能上是相等的:
int n = elements;
int m = n * 2;
int[,] amn = new int[m, n];

简而言之:
var amn = new int[elements * 2, elements];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接