c#中的多维数组

多维数组又称为矩形数组。

您可以声明一个 string 变量的二维数组,如下:

string [,] names;或者,您可以声明一个 int 变量的三维数组,如下:int [ , , ] m;

二维数组:
多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。一个二维数组可以被认为是一个带有 x 行和 y 列的表格。下面是一个二维数组,包含 3 行和 4 列:  a[0][0]    a[0][1]   a[0][2]   a[0][3]    a[1][0]    a[1][1]   a[1][2]   a[1][3]    a[2][0]    a[2][1]   a[2][2]   a[2][3]    a[3][0]    a[3][1]   a[3][2]   a[3][3]  因此,数组中的每个元素是使用形式为 a[ i , j ] 的元素名称来标识的,其中 a 是数组名称,i 和 j 是唯一标识 a 中每个元素的下标。

初始化二维数组:多维数组可以通过在括号内为每行指定值来进行初始化。下面是一个带有 3 行 4 列的数组。
 int [,] a = new int [3,4] {
 {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
 {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
 {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
  };访问二维数组元素:
二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的。例如:int val = a[2,3];
上面的语句将获取数组中第 3 行第 4 个元素。您可以通过上面的示意图来进行验证。让我们来看看下面的程序,我们将使用嵌套循环来处理二维数组:using System;

namespace ArrayApplication
{
    class MyArray
    {
        static void Main(string[] args)
        {
            /* 一个带有 5 行 2 列的数组 */
            int[,] a = new int[5, 2] {{0,0}, {1,2}, {2,4}, {3,6}, {4,8} };

            int i, j;

            /* 输出数组中每个元素的值 */
            for (i = 0; i < 5; i++)
            {
                for (j = 0; j < 2; j++)
                {
                    Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
                }
            }
           Console.ReadKey();
        }
    }
}当上面的代码被编译和执行时,它会产生下列结果:
a[0,0]: 0
a[0,1]: 0
a[1,0]: 1
a[1,1]: 2
a[2,0]: 2
a[2,1]: 4
a[3,0]: 3
a[3,1]: 6
a[4,0]: 4
a[4,1]: 8



				
时间: 2024-10-12 12:26:49

c#中的多维数组的相关文章

Java基础---Java中的二维数组(三十四)

Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空间 或者 如: 2. 赋值 二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始 也可以在声明数组的同时为其赋值 如: 3. 处理数组 二维数组的访问和输出同一维数组一样,只是多了一个下标而已.在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素.如: 运行

java中的二维数组

简单讲:java中的二维数组就是"特殊的一维数组",称为一维数组中的一维数组. 只不过元素是一维数组而已. 也是有两种初始化方式:静态初始化和动态初始化. 访问最后一个元素: int[] []a=? a[a.length-1][a[a.length-1].length-1]这个表示是最后一个元素 遍历二维数组: for(int i=0;i<a.length;i++){     for(int j=0;j<a[i].length;j++){         System.ou

python 中初始化二维数组的方法

最好的方法是: 初始化4*3的二维数组 a = [[0 for col in xrange(3)] for row in xrange(4)] 而不可以用: a = [[0]*3]*4 [0]*3是生成一个一维数组,再*4只是会复制出三个引用,当修改a[0][0]时,其他的三个引用的值也会发生改变,故这种方法是错误的. python 中初始化二维数组的方法

在Python中建立N维数组并赋初值

在Python中,由于不像C++/Java这样的语言可以方便的用a[i][j]=0的方式,建立二维数组并赋初值,所以需要一个相对巧妙的方法. 可以用列表解析的方式,eg: >>> mat=[[0 for i in range(5)] for j in range(5)] >>> mat [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 这样就建立了一

Java 中的二维数组

所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1.声明数组并分配空间 2.赋值 二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始 也可以在声明数组的同时为其赋值 如: 3.处理数组 二维数组的访问和输出同一维数组一样,只是多了一个下标而已.在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素.如:

C++中关于二维数组作为函数参数传递的问题

在做数据结构迷宫实验的时候,要生成一个二维数组存储迷宫数据,为了保证程序的模块化,将生成部分单独放进一个函数migongsc()里.大致代码如下: 问题的关键就集中在了如何将主函数中声明的二维数组migong[8][9]传递到自定义函数中去. 耗费了一个晚上的时间,我总共整理出了三种办法: 方法1:模拟编译器寻址(本法来自CSDN博客,原文: http://blog.csdn.net/jatix/archive/2004/08/29/88150.aspx). 大体意思为:将二维数组当作参数的时候

C#中的多维数组和交错数组

C#中有多维数组和交错数组,两者有什么区别呢! 直白些,多维数组每一行都是固定的,交错数组的每一行可以有不同的大小. 以二维的举例,二维数组就是m×n的矩阵,m行n列:而交错数组(又叫锯齿数组)有m行,但是每一行不一定是n列.Got it? 还有要注意C#中的数组也是一种类型(C++中不是)! 下面看实例: 二维数组: public static void Main() { int row = 5; int column = 5; int[,] matrix = new int[row, col

在python中定义二维数组

发表于 http://liamchzh.0fees.net/?p=234&i=1 一次偶然的机会,发现python中list非常有意思. 先看一段代码 [py]array = [0, 0, 0]matrix = [array*3]print matrix## [[0,0,0,0,0,0,0,0,0]][/py] 这段代码其实没有新建一个二维数组 再看一段代码 [py]array = [0, 0, 0]matrix = [array] * 3print matrix## [[0, 0, 0], [

C++中关于二维数组作为函数参数传递的问题[转]

在做数据结构迷宫实验的时候,要生成一个二维数组存储迷宫数据,为了保证程序的模块化,将生成部分单独放进一个函数migongsc()里.大致代码如下: 问题的关键就集中在了如何将主函数中声明的二维数组migong[8][9]传递到自定义函数中去. 耗费了一个晚上的时间,我总共整理出了三种办法: 方法1:模拟编译器寻址(本法来自CSDN博客,原文: http://blog.csdn.net/jatix/archive/2004/08/29/88150.aspx). 大体意思为:将二维数组当作参数的时候