广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#中的矩形数组(多维数组)和锯齿数组的实现
  • 915
分享到

C#中的矩形数组(多维数组)和锯齿数组的实现

C#矩形数组C#锯齿数组C#多维数组 2023-05-15 08:05:59 915人浏览 独家记忆
摘要

目录(一)矩形数组(二)锯齿数组总结(一)矩形数组 在C#中,矩形数组(rectangular array),又称多维数组,是使用多个索引访问其元素的数组。 1. 二维数组的声明:

(一)矩形数组

C#中,矩形数组(rectangular array),又称多维数组,是使用多个索引访问其元素的数组。

1. 二维数组的声明:

<baseType>[,] <name>;

例如,声明和初始化一个二维数组doubleArray,其基本类型是double,3行4列:

double[,] doubleArray=new double[3,4];
double[,] doubleArray={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

当然,我们还可以这样对doubleArray进行定义和初始化:

double[,] doubleArray=new double[3,4]{{1,2,3,4},{5,6,7,8},{9,10,11,12}};

2. 根据索引访问数组中的元素

访问数组中行号为1,列号为2(第2行,第3列)的数组元素:

Console.WriteLine(doubleArray[1,2]);//控制台输出7

3. 遍历二维数组

(1)获取多维数组的维度

int rank=doubleArray.Rank;//rank=2,表示doubleArray数组的维度为2

(2)for循环遍历

//for循环遍历doubleArray数组
for(int i=0;i<doubleArray.GetLength(0);i++)//GetLength(0)获取数组行数
{
    for(int j=0;j<doubleArray.GetLength(1);j++)//GetLength(1)获取数组列数
    {
        Console.Write(doubleArray[i,j]+"\t");//打印索引为[i,j]的数组元素
    }
    Console.WriteLine();//打印完一行换行
}

(3)foreach遍历

//foreach遍历doubleArray数组
foreach(double item in doubleArray)
{
    Console.Write(item + "\t");//依次输出doubleArray数组中的元素
}

4. 其他多维数组

其他多维数组需要更多的逗号隔开,声明格式:

<baseType>[,,] <name>;//三维数组
<baseType>[,,,] <name>;//四维数组
<baseType>[,,,,] <name>;//五维数组
...

(二)锯齿数组

上述的矩形数组,它要求数组每一行的元素个数相同,但对于锯齿数组(jagged array),它可以使数组中每行的元素个数不同。
锯齿数组又称为交错数组,数组中的每一个元素都是另一个数组,所有锯齿数组也叫作数组的数组,但是要注意,这些数组都必须要有相同的基本类型。

1. 锯齿数组的声明和初始化

(1)锯齿数组声明

int[][] jaggedArray;//声明一个int型锯齿数组jaggedArray

(2)锯齿数组初始化

初始化jaggedArray数组含有2个子数组(即数值中2个元素为另外2个数组)

jaggedArray = new int[2][];//初始化jaggedArray数组
jaggedArray[0] = new int[3] { 1, 2, 3 };//第一个元素为一个长度为3的一维数组
jaggedArray[1] = new int[4] { 4, 5, 6, 7 };//第二个元素为一个长度为4的一维数组

还可以改进锯齿数组的声明和初始化,将声明和初始化写在一行代码:

int[][] jaggedArray = new int[2][] { new int[] { 1, 2, 3 }, new int[] { 4, 5, 6, 7 } };

2. 遍历锯齿数组

(1)for循环遍历

 //for循环遍历jaggedArray数组
for(int i = 0; i < jaggedArray.Length; i++)//遍历数组的行数
{
    for (int j = 0; j < jaggedArray[i].Length; j++)//遍历数组中每一个行的元素(一维数组)
    {
        Console.Write(jaggedArray[i][j]+"\t");//打印jaggedArray[i][j]
    }
    Console.WriteLine();//输出完一行换行
}

(2)foreach遍历

//foreach遍历jaggedArray数组
foreach(int[] int_item in jaggedArray)//遍历锯齿数中的每个子数组,类型为int[]
{
    foreach(int item in int_item)//遍历每个子数组中的元素,类型为int
    {
        Console.Write(item + "\t");//依次输出锯齿数组中的元素
    }
}

总结

使用锯齿数组的语法,不管是数组的声明和初始化,还是数组的遍历,都要比矩形数组复杂的多。在大多数情况下,使用矩形数组比较简单,它也是一种比较简单的存储方式。但是,有时必须使用锯齿数组,且工作效率并不会因此而降低。

到此这篇关于C#中的矩形数组(多维数组)和锯齿数组的实现的文章就介绍到这了,更多相关C# 矩形数组和锯齿数组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#中的矩形数组(多维数组)和锯齿数组的实现

本文链接: https://www.lsjlt.com/news/208586.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中的矩形数组(多维数组)和锯齿数组的实现
    目录(一)矩形数组(二)锯齿数组总结(一)矩形数组 在C#中,矩形数组(rectangular array),又称多维数组,是使用多个索引访问其元素的数组。 1. 二维数组的声明: ...
    99+
    2023-05-15
    C# 矩形数组 C# 锯齿数组 C# 多维数组
  • C#中的矩形数组和锯齿数组怎么实现
    本篇内容主要讲解“C#中的矩形数组和锯齿数组怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#中的矩形数组和锯齿数组怎么实现”吧!(一)矩形数组在C#中,矩形数组(rectangular...
    99+
    2023-07-06
  • C#中多维数组[,]和交错数组[][]的区别
    多维数组的声明 在声明时,必须指定数组的长度,格式为 type [lenght ,lenght ,lengh, ... ] int [,] test1 = new int [3,3]...
    99+
    2022-11-12
  • C#二维数组与多维数组的具体使用
    目录1、二维数组2、初始化二维数组3、访问二维数组种的元素C# 中同样支持多维数组(也可称为矩形数组),它可以是二维的,也可以是三维的,多维数组中的数据以类似表格(行、列)的形式存储...
    99+
    2023-05-15
    C#二维数组与多维数组 C#二维数组 C#多维数组
  • C#中获取二维数组的行数和列数以及多维数组各个维度的长度
    如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组 int ...
    99+
    2022-11-12
  • NumPy实现多维数组中的线性代数
    目录简介图形加载和说明图形的灰度灰度图像的压缩原始图像的压缩总结简介 本文将会以图表的形式为大家讲解怎么在NumPy中进行多维数据的线性代数运算。 多维数据的线性代数通常被用在图像...
    99+
    2022-11-12
  • C语言多维数组数据结构的实现详解
    目录数据结构之多维数组各基本操作函数原型说明 各基本操作的具体实现测试分析思考与小结1、 对数组的再认识2、调试过程中遇到的问题及解决方案3、算法的时间复杂度分析总结数据结构之多维数...
    99+
    2022-11-12
  • php多维数组的底层实现
    随着互联网时代的发展,PHP语言在Web方面占据了举足轻重的地位。而多维数组作为PHP语言中最常用的数据结构之一,其在程序开发中具有重要的应用价值。本文将针对PHP多维数组的底层实现进行深入分析,以期为读者提供更加深入的了解。一、多维数组的...
    99+
    2023-05-19
  • C语言多维数组数据结构怎么实现
    这篇文章主要介绍“C语言多维数组数据结构怎么实现”,在日常操作中,相信很多人在C语言多维数组数据结构怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言多维数组数据结构怎么实现”的疑惑有所帮助!接下来...
    99+
    2023-06-25
  • C#中二维数组的用法
    本篇内容主要讲解“C#中二维数组的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#中二维数组的用法”吧!C#二维数组publicclassArray2D...{  publics...
    99+
    2023-06-18
  • NumPy怎么实现多维数组中的线性代数
    本篇内容介绍了“NumPy怎么实现多维数组中的线性代数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录简介图形加载和说明图形的灰度灰度图像...
    99+
    2023-06-20
  • c# 如何实现获取二维数组的列数
    二维数组的行数可以使用Length属性获得,但由于C#中支持不规则数组,因此二维数组中每一行中的列数可能不会相同 如何获取二维数组中每一维的列数呢? 答案还是Length属性,因为二...
    99+
    2022-11-12
  • c#怎么实现获取二维数组的列数
    小编给大家分享一下c#怎么实现获取二维数组的列数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如何获取二维数组中每一维的列数呢?答案还是Length属性,因为二维...
    99+
    2023-06-14
  • JS一维数组转化为三维数组的实现示例
    今天在CSDN上问答区看到一个提问的小伙伴,是想要将一维数组转化为三位数组的需求,正好不是很忙,乐于助人的我立马给这位同学安排上,当然也没有顾及那么多去看资料什么的,就直接按照自己的...
    99+
    2022-11-12
  • Java实现二维数组和稀疏数组之间的转换
    目录前言 1. 需求和思路分析 2.代码实现和展示 3. 总结 参考视频前言 用Java实现二维数据和稀疏数组之间的转换 1. 需求和思路分析 1.1 以二维数组的格式模拟棋盘、...
    99+
    2022-11-12
  • numpy数组合并和矩阵拼接的实现
    Numpy中提供了concatenate,append, stack类(包括hsatck、vstack、dstack、row_stack、column_stack),r_和c_等类和...
    99+
    2022-11-11
  • PHP中怎么实现多维数组排序
    这篇文章将为大家详细讲解有关PHP中怎么实现多维数组排序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。根据数组的键进行比较大小,排序,就不用说了,php有很多,很方便的内置函数,krsort...
    99+
    2023-06-17
  • C++栈的数组实现代码
    栈的抽象数据结构。栈的成员函数需要包括这几个基本的函数:initializeStack(),isEmptyStack(),isFullStack,push(),pop(),top()...
    99+
    2022-11-13
  • python中list*n生成多维数组与for循环生成多维数组的区别说明
    目录list*n生成多维数组与for循环生成多维数组的区别1.从一个问题说起2.正确的方式如何动态生成多维数组下面代码生成一个一个3×3×2的三维数组list...
    99+
    2022-11-11
  • pytorch中矩阵乘法和数组乘法怎么实现
    本篇内容介绍了“pytorch中矩阵乘法和数组乘法怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、torch.mul该乘法可简单理...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作