• 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/

     

  • 相关阅读:
    day 22 反射,双下方法
    day 21 封装,多态,类的其他属性
    day 20 类与类之间的关系,继承2
    day 19 类的名称空间,组合,派生
    day 18 类,对象
    day 17 re模块
    注意NULL
    SQL_DISTINCT
    重载赋值运算符
    随机序列问题
  • 原文地址:https://www.cnblogs.com/frfwef/p/12761014.html
Copyright © 2020-2023  润新知