【发布时间】:2016-04-23 10:25:04
【问题描述】:
我只是想创建一个二维数组来存储坐标点。
所以我想要一个数组,其中每个索引返回一个二维数组,我将用作x 和y。
这是我尝试过的:
waypoints = new int[4][,] {
{{0},{6, 0}},
{{1},{1, 1}},
{{2},{1, 5}},
{{3},{6, 5}}
};
我意识到这可能看起来很愚蠢,但我尝试在 Google 上查找它,但没有得到任何好的结果。
它给出了一个错误:
"错误 CS0623: 数组初始化器只能用于变量或 字段初始化器。尝试使用新表达式“
我也试过这样做:
waypoints = new int[4][,] {
new int[,] {6, 0},
new int[,] {1, 1},
new int[,] {1, 5},
new int[,] {6, 5}
};
这给出了一个错误:
“错误 CS0846:需要嵌套数组初始化程序”
【问题讨论】:
-
为什么不创建
Vector2结构或类似的列表?从长远来看,它可能更容易使用并且更简单。 -
@rhughes:更不用说更好的引用局部性(当前处理器中 Ln 缓存的一个重要考虑因素)和减少垃圾收集(因为 数组 是一个对象,而结构是不是)。
标签: c# arrays multidimensional-array initialization initializer