C#多维数组和数组的数组有什么区别?各在什么不同情况下使用?
1个回答
展开全部
int[ , , ] a; //[]中间有逗号的是多维数组
int[][][] a; //多个[][][]方括号的是数组的数组
多维数组是1块连续的内存,适合固定大小的内存操作,比如2D绘图和图片、图算法、字体等
优点读写速度快,缺点大小固定。
数组的数组,不连续的多块内存,用来实现一些动态数据结构,比如动态数组,存储数量变化的数据等
优点,可以按需确定大小,节约空间,缺点,分散,性能稍慢。
其实也只有C/C++ C#才提供多维数组进一步区分。很多主流语言如java,php,python不提供多维数组只提供数组的数组,性能差异和用途差异都很小。不是读写密集、资源枯竭型的应用,很难真正触及性能区别。
int[][][] a; //多个[][][]方括号的是数组的数组
多维数组是1块连续的内存,适合固定大小的内存操作,比如2D绘图和图片、图算法、字体等
优点读写速度快,缺点大小固定。
数组的数组,不连续的多块内存,用来实现一些动态数据结构,比如动态数组,存储数量变化的数据等
优点,可以按需确定大小,节约空间,缺点,分散,性能稍慢。
其实也只有C/C++ C#才提供多维数组进一步区分。很多主流语言如java,php,python不提供多维数组只提供数组的数组,性能差异和用途差异都很小。不是读写密集、资源枯竭型的应用,很难真正触及性能区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询