【问题标题】:In C#, how do you declare an array with all values set to zero, without explicitly declaring it?在 C# 中,如何在不显式声明的情况下声明一个所有值都设置为零的数组?
【发布时间】:2022-10-30 23:31:49
【问题描述】:

我想做的是这样的(在c#中):

int[,] arr2d = {
                      {0, 0},
                      {0, 0},
                      {0, 0}
                  };

这将生成一个 2 列宽和 3 行长的数组,所有值都设置为零。

我要做的是初始化一个数组,在该数组中我为宽度指定一个值x,为高度指定一个值y,这将声明所有值都为零的那些规范的二维数组.

本质上,我如何制作一个二维数组,其中所有值都为零,任何高度和宽度,而不像上面的代码中那样单独声明每个值。

【问题讨论】:

  • 注意一般不是可能的在 C# 中有未初始化的变量或数组。它们要么被自动初始化,要么如果你不初始化它们是编译时错误。

标签: c# arrays .net 2d


【解决方案1】:

0 是默认的 int 值,因此您可以通过此代码执行相同的操作

var arr2d = new int[3,2];

【讨论】:

    【解决方案2】:

    如果要填充默认值以外的Array,可以使用Fill,

    Array.Fill(arrayToFill, value)
    

    将填充数组重置为默认值(例如:在 int 数组中重置为 0)

    Array.Clear(arrayToReset, 0, arrayToReset.Length);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-09
      • 1970-01-01
      • 2021-01-29
      • 1970-01-01
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多