C#二维数组与多维数组的具体使用
作者:C语言中文网 发布时间:2023-07-30 23:53:49
标签:C#,二维数组,多维数组
C# 中同样支持多维数组(也可称为矩形数组),它可以是二维的,也可以是三维的,多维数组中的数据以类似表格(行、列)的形式存储,因此也被称为矩阵。
要创建多维数组,我们需要在声明数组的方括号内添加逗号,例如:
int[,] arr=new int[3,3]; // 声明一个二维数组
int[,,] arr=new int[3,3,3]; // 声明一个三维数组
1、二维数组
多维数组中最简单的形式是二维数组,我们可以将二维数组看作是一个表格,这个表格中具有相应的行数和列数,下图中展示了一个包含 3 行 4 列的二维数组。
二维数组示意图
我们可以使用arr[i, j]的形式来访问二维数组中的每个元素,其中 arr 为数组的名称,而 i 和 j 则是数组元素的索引,类似于表格中的行和列。
2、初始化二维数组
二维数组的初始化与一维数组类似,例如我们要定义一个 3 行 4 列的整型数组,可以使用以下几种方式:
// 第一种方式
int[,] arr = new int[3,4]{
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}
};
// 第二种方式
int[,] arr = new int[,]{
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}
};
// 第三种方式
int[,] arr = {
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}
};
3、访问二维数组种的元素
二维数组中的元素同样可以通过索引(行索引和列索引)来访问的,例如:
int[,] arr = new int[3,4]{
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}
};
int a = arr[1, 0];
上例中arr[1, 0]代表了数组 arr 中第二行中的第一个元素。
【示例】定义一个二维数组并遍历数组中的每个元素:
using System;
namespace c.biancheng.net
{
class Demo
{
static void Main(string[] args){
int[,] arr = new int[3,4]{
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}
};
for(int i = 0; i < 3; i++){
for(int j = 0; j < 4; j++){
Console.WriteLine("arr[{0},{1}] = {2}", i, j, arr[i,j]);
}
}
Console.ReadLine();
}
}
}
运行结果如下:
arr[0,0] = 0
arr[0,1] = 1
arr[0,2] = 2
arr[0,3] = 3
arr[1,0] = 4
arr[1,1] = 5
arr[1,2] = 6
arr[1,3] = 7
arr[2,0] = 8
arr[2,1] = 9
arr[2,2] = 10
arr[2,3] = 11
来源:http://c.biancheng.net/csharp/multidimensional-array.html


猜你喜欢
- 创建started service 应用组件(例如Activity)
- 本文实例讲述了C#封装的常用文件操作类。分享给大家供大家参考。具体如下:这个C#类封装了我们经常能用到的文件操作方法,包括读写文件、获取文件
- 本文讲述了Java实现画线、矩形、椭圆、字符串功能的实例代码。分享给大家供大家参考,具体如下:import java.awt.Frame;
- 本文实例讲述了Java中的多态用法。分享给大家供大家参考。具体分析如下:多态,是面向对象的程序设计语言最核心的特征。封装性、继承性都比较简单
- Spring @RequestParam对象绑定在Spring中,如果在方法参数列表中使用@RequestParam标注多个参数,会让映射方
- 使用类的全权名: System.Text.StringBuilder sb = new System.Text.StringBuilder(
- 环境Linux版本:CentOS 6.5、Ubuntu 12.04.5 JDK版本:JDK 1.7目录方法一:手动解压JDK的压缩包,然后设
- 本文实例为大家分享了Unity3D选择本地图片并加载的具体代码,供大家参考,具体内容如下①找到System.Windows.Forms.dl
- 实现功能权限校验的功能有多种方法,其一使用 * 拦截请求,其二是使用AOP抛异常。 首先用 * 实现未登录时跳转到登录界面的功能。注意这里没
- AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Map
- /*** 目的:实现AVL* 利用数组对左右儿子简化代码,但是对脑力难度反而增大不少,只适合acm模板* 其实
- 在Android系统上开发游戏是Android开发学习者所向往的,有成就感也有乐趣,还能取得经济上的报酬。那怎样开发Androi
- 平均背景法的基本思想是计算每个像素的平均值和标准差作为它的背景模型。平均背景法使用四个OpenCV函数:cvAcc(),累积图像;cvAbs
- Double显示转换int static void Main(string[] args) { Console.WriteLine(&quo
- Monkeyrunner 常用按键 &nbs
- Java基本概念JDK包含了不少Java开发相关命令。如,javac、java、javap、javaw、javadoc。虽然现在的Java开
- 一、前言在日常工作中,如果涉及到与第三方进行接口对接,有的会使用WebService的方式,这篇文章主要讲解在.NET Framework中
- 新建两个工程,一个客户端,一个服务端,先启动服务端再启动客户端两个工程的读写操作线程类基本上完全相同服务端:import java.io.B
- 由于最近的工作需要用到文本转语音的功能,在网上找到的资料有些不完整,特此记录下整个完整功能。这种方式的优点在于不会被浏览器限制,在js的文本
- 东西不多,但一般项目够用了。public class RegularUtil { //身份证 publi