美文网首页
24.C# 多维数组

24.C# 多维数组

作者: 技术老小子 | 来源:发表于2024-03-01 17:12 被阅读0次

    摘要


    C# 支持多维数组。多维数组又称为矩形数组,像excel,就是一个标准的二维数组。

    正文


    声明一个 二维数组

    string[,] names;
    int[,] ages;
    
    

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

    一个二维数组可以被认为是一个带有 x 行和 y 列的表格。下面是一个二维数组,包含 3 行和 4 列:

    image.png

    数组中的每个元素是使用形式为 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[,] b = new int[2, 4];//行2,4列数
    
    int[][] c = new int[2][];//这时申明不能指定列数,只能每行指定列数
    c[0]=new int[2];//第一行2列
    c[1]=new int[3];//第二行3列
    c[2]=new int[4];//第3行4列
    
    int[,] d = new int[2, 2];
    d[0, 0] = 1;
    d[0, 1] = 2;
    d[1, 0] = 3;
    d[1, 1] = 4;
    
    

    一个列子

    /* 一个带有 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[{i},{j}] = {a[i,j]}");
        }
    }
    Console.ReadKey();
    
    
    image.png

    将二维数组中数据行列数据调换位置

    // See https://aka.ms/new-console-template for more information
    
    int[,] a = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
    Console.WriteLine("原数组");
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            Console.Write($"{a[i, j]} ");
        }
        Console.WriteLine();
    }
    Console.WriteLine("转换后数组");
    int tmp;
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < i; j++)
        {
            tmp = a[i, j];
            a[i, j] = a[j, i];
            a[j, i] = tmp;
        }
    }
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            Console.Write($"{a[i, j]} ");
        }
        Console.WriteLine();
    }
    
    
    image.png

    相关文章

      网友评论

          本文标题:24.C# 多维数组

          本文链接:https://www.haomeiwen.com/subject/xpdfzdtx.html