【发布时间】:2014-12-16 02:15:40
【问题描述】:
我想像在 java 中一样初始化一个数组数组:
int[][] arrPos=new int[16][48];
int[][] arrPosOther=new int[16][48];
我可以像这样设置一个行数组值:
arrPos[0]=arrPosOther[0];
我可以像这样设置一个单元格值:
arrPos[1][0]=125;
但在 C# 中,我只能这样声明:
int[][] arrPos=new int[16][];
不能在初始化时设置列值。
【问题讨论】:
-
在 C# 中,您有 2 个选项 - 多维数组
int[,]、int[,,]或锯齿状数组int[][]。这两个将涵盖所有阵列需求 -
我知道 jagged 类型,但我想初始化一个数组,如 arr[255][255],我无法对那个场景进行成像。
-
如果你问我,这-
arr[255][255]没有任何意义,因为你声明了255的 256 个成员数组。第二个[]是另一个数组所在的位置,而不是某个整数 -
@AndyFong 看起来您要求的内容与您发布的不同(可能是“如何将 2d 数组表示为 1d 数组”) - 考虑提出 new 的问题显示您正在寻找的内容。考虑接受 Alex Bell 的答案,该答案显示了问题中当前发布的内容的语法。
-
我同意 Alexei Levenkov 的观点。最好发布另一个问题(如果有的话),因为这个问题已经得到了彻底的回答。最好的问候,
标签: c# arrays jagged-arrays