打印
[资源共享]

C# 交错数组,及与多维数组的区别

[复制链接]
902|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2024-5-24 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
交错数组与多维数组的区别
C#中的交错数组,一般也称为锯齿数组,与多维数组的相似点之一是交错数组中的元素也是数组(一般指第一维度中的元素),不同的是,多维数组中的每一个子数组的类型和子数组中元素个数大小都是一致的,但是交错数组中的每个子数组的类型虽然一般也是相同的,但是每个子数组中的元素个数却可以是不同的,除此之外,访问交错数组的初始化方法、访问元素的方法也与多维数组中有所不同。接下来,将通过一些语法和代码来直观地介绍一下。

交错数组声明定义语法可参考如下
提示:如下语法只是一种简单的描述数组嵌套不定大小的数组的类似多维数组中“二维”概念的语法,而实际上交错数组也可以是“多维”的,注意,这里的“多维”也是简单地引用了一下多维数组中的概念:

type[][] arrName = new type[size][]

交错数组元素访问语法
在上一章节中介绍多维数组的时候,有介绍说多维数组一般不使用单一的索引方式来访问多维数组中的子数组,但是在交错数组中,则可以使用单一的索引来访问子数组,或进行赋值,其一般语法可参考如下(这里也是“二维”的方法):

arrName[index1][index2]

提示:如果没有index2,则可以访问交错数组中的子数组。

交错数组的初始化
初始化的方法,可以参考下方的实例代码。

交错数组实例代码
using System;
namespace HWApp{
   class Test{
      static void Main(string[] args){
         // 声明一个简单的具有三个子数组的交错数组
         int[][] arr = new int[3][];
         // 通过索引的方式为交错数组赋值初始化
         arr[0] = new int[]{1,2};
         arr[1] = new int[]{3,4,5};
         arr[2] = new int[]{6,7,8,9,10};
         // 通过索引的方式访问子数组中的元素
         Console.WriteLine(arr[0][1]);
      }
   }
}
代码编译运行,得到输出并输入:

2
免责声明:内容仅供参考,不保证正确性。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1917

主题

6667

帖子

8

粉丝