首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >声明二维数组的问题

声明二维数组的问题
EN

Stack Overflow用户
提问于 2013-04-03 08:07:30
回答 5查看 5.6K关注 0票数 3

我有以下代码:

代码语言:javascript
复制
    public int[] _SpDep = new int[50];
    public int[][] _SpDepCnt = new int[50][];
    public int[][] _SpReadType = new int[50][];

     _DepNo = Convert.ToInt16(strFileName[n].Substring(1, 2));
     _CntNo = Convert.ToInt16(strFileName[n].Substring(6, 2));
     _SpDep[_DepNo] = 1;
     _SpDepCnt[_DepNo][_CntNo] = 1;
     _SpReadType[_DepNo][_CntNo] = 1;

到达这一行时有一个错误:

代码语言:javascript
复制
      _SpDepCnt[_DepNo][_CntNo] = 1;

但我不知道怎么了?有什么意见吗?这是2d array的错误声明吗?

EN

回答 5

Stack Overflow用户

发布于 2013-04-03 08:12:10

锯齿阵列[][]

如果使用int[][] ( 锯齿阵列)类型的数组,则需要初始化数组,如下所示:

代码语言:javascript
复制
public int[] _SpDep = new int[50];
public int[][] _SpDepCnt = new int[50][];
public int[][] _SpReadType = new int[50][];

然后初始化数组中的数组:

代码语言:javascript
复制
var length = 20;
for (int i = 0; i < length; i++)
{
    _SpDepCnt[i] = new int[length];
     _SpReadType[i] = new int[length];
}

它被称为锯齿数组,因为第二部分的长度可能不同,例如:

代码语言:javascript
复制
[1,2,3,4]
[5,6]
[7,8,9]

多维阵列[,]

我相信您希望使用int[,]类型,称为多维阵列。它们用、二维制作一个数组。

代码语言:javascript
复制
public int[,] _SpDepCnt = new int[50, 20];
public int[][] _SpReadType = new int[50, 20];

多维数组将为每个索引创建相同大小的数组:

代码语言:javascript
复制
[1,2,3]
[4,5,6]
[7,8,9]
票数 5
EN

Stack Overflow用户

发布于 2013-04-03 08:10:43

在使用“数组数组”声明“数组”时,需要初始化外部维度以引用已分配的数组,如下所示:

代码语言:javascript
复制
public int[][] _SpReadType = new int[50][];

for (int i = 0; i < 50; ++i)
    _SpReadType[i] = new int[SIZE]; // Where you have to decide on SIZE

这些数组也被称为“粗糙数组”或“交错数组”,因为每一行的大小可能是不同的,因为每一行都是单独的数组。

或者,您可以使用以下语法使用实际的2D数组:

例如:

代码语言:javascript
复制
public int[,] _SpReadType = new int[50,SIZE];

然后访问这样的元素:

代码语言:javascript
复制
int value = _SpReadType[row,col];
票数 3
EN

Stack Overflow用户

发布于 2013-04-03 08:10:11

这是一个锯齿状的数组,您必须先初始化元素,然后才能使用它

代码语言:javascript
复制
myJaggedArray[0] = new int[5];
myJaggedArray[1] = new int[4];
myJaggedArray[2] = new int[2];

http://msdn.microsoft.com/en-us/library/2s05feca(v=vs.71).aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15782013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档