码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-04-14 21:34:14      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:二维数组   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, 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属性是数组总共的长度


二维交错数组:

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‘);
    }
}

结果:
技术分享

说明:

交错数组的声明使用int[][]的形式
交错数组获取长度直接使用Length属性即可

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

标签:二维数组   c#   

原文地址:http://blog.csdn.net/theonegis/article/details/45047895

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!