c# - 预计长度为 2 的数组初始值设定项

标签 c# arrays multidimensional-array

我正在尝试让 AI 学习 和 函数,但这个 3d 数组不起作用

      int[, ,] inputs =
         {
            { { 0, 0 }, {0} },
            { { 0, 1 }, { 0 } },
            { { 1, 0 }, { 0 } },
            { { 1, 1 }, { 1 } }

        };

最佳答案

您已经声明了一个矩形数组 - 尽管我认为“长方体”数组在这种情况下更合适。但是您必须使每个“子数组”初始值设定项具有相同的长度。继续这个几何比喻,每列的长度都必须相同 - 但有些长度为 2,有些长度为 1。

因此这将编译,例如:

int[, ,] inputs =
{
    { { 0, 0 }, { 0, 0 } },
    { { 0, 1 }, { 0, 0 } },
    { { 1, 0 }, { 0, 0 } },
    { { 1, 1 }, { 1, 0 } }

};

现在是一个 4 x 2 x 2 数组。

如果您希望每个“最终子数组”能够具有不同的长度,您可以拥有一个一维数组的矩形数组:

int[,][] inputs =
{
    { new[] { 0, 0 }, new[] { 0 } },
    { new[] { 0, 1 }, new[] { 0 } },
    { new[] { 1, 0 }, new[] { 0 } },
    { new[] { 1, 1 }, new[] { 1 } }             
};

关于c# - 预计长度为 2 的数组初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36668096/

相关文章:

php - MySQL中的层次结构数据到PHP多维数组

c# - 进程间通信

c# - LINQ 查询。在此上下文中仅支持原始类型或枚举类型

c# - 在 C# 中,静态构造函数是为对象的每个初始化运行还是只运行一次?

javascript - nodeJS 创建动态数组并用作响应

c++ - 示例程序崩溃

c# - LINQ to Entities 和 LINQ to Objects 处理类型转换的方式不同

python - Numpy csv 脚本给出 'ValueError: setting an array element with a sequence'

c - 字符串数组末尾为NULL(C编程)

php - 在 foreach 中使用引用 (&) 在输出数组中添加 `&`?是不是bug