C#:多维数组及交错数组

C#多维数组


C#支持多维数组。多维数组又称为矩形数组。
您可以声明一个int变量的二维数组,如下所示:

int [,] names;

 

您可以声明一个int变量的三维数组,如下所示:

 int [ , , ] names;

 

二维数组
多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。

public static void Main()
{
    int row = 5;
    int column = 5;
    int[,] matrix = new int[row, column];
    //初始化
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
        {
            matrix[i, j] = (i + 1) * 10 + j + 1;
        }
    }
    //输出
    Console.WriteLine("该二维数组有:{0}行{1}列!", matrix.GetLength(1), matrix.GetLength(1));
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
        {
            Console.Write(matrix[i, j] + " ");
        }
        Console.Write('\n');
    }
}

 

说明:
 
多维数组的声明采用int[,]这样的方式
获取多维数组的第i维的长度用数组名.GetLength(i)方法
例如:获取二维数组的行:matrix.GetLength(0);获取二维数组的列:matrix.GetLength(1)
多维数组的Length属性是数组总共的长度 

 

交错数组
交错数组是数组的数组。您可以声明一个带有int值的交错数组scores,如下所示:

   int [][] scores;

 

可以初始化一个交错数组,如下所示:  

int[][] scores = new int[2][]{new int[]{31,23,77},new int[]{85,77,28,18}}
public static void Main()
{
    int row = 5;
    //交错数组空间的申请
    int[][] matrix = new int[row][];
    for (int i = 0; i < row; i++)
    {
        matrix[i] = new int[i + 1];
    }
    //数据初始化
    for (int i = 0; i < matrix.Length; i++)
    {
        for (int j = 0; j < matrix[i].Length; j++)
        {
            matrix[i][j] = (i + 1) * 10 + j + 1;
        }
    }
    //数据输出
    for (int i = 0; i < matrix.Length; i++)
    {
        for (int j = 0; j < matrix[i].Length; j++)
        {
            Console.Write(matrix[i][j] + " ");
        }
        Console.Write('\n');
    }
}

结果

 

总结
多维数组的作用不是一维数组可以替代的比如说处理字符串,而且在处理一些有关联的数据,多维数组就可以体现它的优势了。交错数组被认为一个数组的数组,交错数组的每一个矢量都可以有不同的长度。

 

文章转载自:快速开发平台
地址:https://www.hocode.com/

 

posted @ 2022-02-21 16:14  码上的飞鱼  阅读(507)  评论(0编辑  收藏  举报