【发布时间】:2023-03-18 04:40:02
【问题描述】:
我进入 C# 并且有点困惑 about an example of the resource im learning from. 它关于 bool 数组的声明和初始化,我想知道在代码中的哪个点发生了什么:
bool[][] myBools = new bool[2][];
myBools[0] = new bool[2];
myBools[1] = new bool[1];
myBools[0][0] = true;
//myBools[0][1] = false;
myBools[1][0] = true;
Console.WriteLine("myBools[0][0]: {0}, myBools[1][0]: {1}", myBools[0][0], myBools[1][0]);
我声明了一个未知大小的二维布尔数组 - 在同一行中,我用 2 个布尔数组初始化数组。
那一刻我在数组中有什么? C# 不允许读出值。 (我想我现在有一个 array_main 有 2 个包含未初始化的成员!bool arrays_members 这是正确的吗?所以一个包含 2 个成员的 len 2 的数组是包含 NULL 的未知长度的 bool 数组?)
在第 2 行和第 3 行中,我使用布尔数组初始化 array_members,第一个成员的长度为 2,第二个成员的长度为 1。这样正确吗?
之后就很简单了,像 C 一样。
我可以处理逻辑,但我想知道幕后发生的事情。
【问题讨论】:
-
没有。第二个数组是指向另一个内存区域的指针。所以第二个数组是一个空地址指针。我会使用 List
- > 而不是数组,这将更容易添加值。
标签: c# arrays initialization boolean