四时宝库

程序员的知识宝库

22.C# 多维数组(c语言 多维数组)

摘要


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

正文


声明一个 二维数组

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

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

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

数组中的每个元素是使用形式为 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,列数

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(#34;a[{i},{j}] = {a[i,j]}");
    }
}
Console.ReadKey();

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

// 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(#34;{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(#34;{a[i, j]} ");
    }
    Console.WriteLine();
}

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接