C#中,多维数组和数组的数组有什么区别

 我来答
百度网友eab4a8d
推荐于2016-07-18 · TA获得超过1824个赞
知道小有建树答主
回答量:549
采纳率:0%
帮助的人:403万
展开全部
首先定义不同
多维数组:private int[,] _multi ;
数组的数组(也即锯齿数组)private int [][] _jagged;
再次实例化不同
多维:_multi=new int [10,10];
锯齿数组:_jagged=new int[2][];
_jagged[0]=new int[5];
-jagged[1]=new int[9];
第3访问遍历方式不同:
多维:
foreach(int e in _multi)
{
Console.Write(e.ToString());
}
锯齿数组:
foreach(int[] row in _multi)
{
foreach(int[] e in row)
{
Console.Write(e.ToString());
}
}
第4可定义维度不同
多维的每个维度固定,锯齿数组每个维度不固定,因此得名锯齿数组。
最后性能的差异:
多维:维度长度固定,利用这个特性,编译器可以生产更加高效的初始代码,
锯齿:数组越大维数越多,初始化的代码越多,列方向遍历的效率低
声明:本人所有资源均参考Effective C#条款40,转载答案请明确指资料来源。
仔仔仔仔仔啊DM
2019-09-16 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:35%
帮助的人:760万
展开全部
多维数组的长度是一致的,二维数组可以描述一个矩形点阵,比如一个2x3的二维数组,是个完整的矩阵
而交错数组(你所谓的数组的数组)中的项数是任意的,一个数组中的数组的长度可以各不相同
这种区别可以描述现实的一些事物,比如规则的教室座位,用二维数组就很好表达,图片上的像素点也是;而年月的包含关系就方便也可以用二维数组,而月日的包含关系就适合用交错数组,因为各个月份的天数不一样
参考:
https://msdn.microsoft.com/zh-cn/library/2s05feca.aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-06-26
展开全部
首先定义不同
多维数组:private int[,] _multi ;
数组的数组(也即锯齿数组)private int [][] _jagged;
再次实例化不同
多维:_multi=new int [10,10];
锯齿数组:_jagged=new int[2][];
_jagged[0]=new int[5];
-jagged[1]=new int[9];
第3访问遍历方式不同:
多维:
foreach(int e in _multi)
{
Console.Write(e.ToString());
}
锯齿数组:
foreach(int[] row in _multi)
{
foreach(int[] e in row)
{
Console.Write(e.ToString());
}
}
第4可定义维度不同
多维的每个维度固定,锯齿数组每个维度不固定,因此得名锯齿数组。
最后性能的差异:
多维:维度长度固定,利用这个特性,编译器可以生产更加高效的初始代码,
锯齿:数组越大维数越多,初始化的代码越多,列方向遍历的效率低
声明:本人所有资源均参考Effective C#条款40,转载答案请明确指资料来源。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5080d2aa8
2009-05-12 · TA获得超过575个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:273万
展开全部
多维数组只有一个数组,只不过数组的矩阵是二维,三维,四维...
数组的数组是一个数组中包含多个数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dotnet201
2009-05-13
知道答主
回答量:32
采纳率:0%
帮助的人:20.3万
展开全部
一维数组是线性的,
多维数组就不是的了。
多维数组可以看做是很多的一维数组的集合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式