您的位置:

c#二维数组定义与赋值

一、二维数组的定义

在c#中,如果需要存储多个相同类型的数据,可以使用数组来操作。而对于需要存储多个一维数组的情况,就需要使用二维数组。

定义一个二维数组的语法为:

type[,] arrayName = new type[rowSize, columnSize];

其中,type表示数组中元素的类型,rowSize表示二维数组中行的数量,columnSize表示二维数组中列的数量。

例如,定义一个由3行4列的int型数组,可以这样写:

int[,] array = new int[3, 4];

二、二维数组的赋值

二维数组的赋值可以采用循环的方式逐个赋值,也可以使用花括号的方式进行赋值。

1. 循环逐个赋值

通过循环逐个赋值是一种比较基础的方法,可以使用两个嵌套的for循环来进行逐个赋值。例如,为上一个例子中的二维数组赋值,可以这样写:

for(int i=0; i<array.GetLength(0); i++)
{
    for(int j=0; j<array.GetLength(1); j++)
    {
        array[i, j] = i * array.GetLength(1) + j;
    }
}

其中,GetLength(0)返回数组的行数,GetLength(1)返回数组的列数。

2. 花括号赋值

使用花括号进行初始化也是一种常见的方式,在定义数组时初始化。例如,为一个3行4列的数组分别赋值,可以这样写:

int[,] array = new int[,]
{
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

这样就可以直接把数值赋给数组中对应的位置。

三、二维数组的操作

1. 访问二维数组元素

通过数组名和下标的方式即可访问二维数组中的元素。例如,访问上述例子中第二行第三列的元素,可以这样写:

Console.WriteLine(array[1, 2]);  // 输出结果:7

2. 二维数组作为参数进行传递

在方法中,可以使用二维数组作为参数进行传递。例如,下面这个方法可以打印出一个二维数组的所有元素:

static void PrintArray(int[,] array)
{
    for(int i=0; i<array.GetLength(0); i++)
    {
        for(int j=0; j<array.GetLength(1); j++)
        {
            Console.Write("{0} ", array[i,j]);
        }
        Console.WriteLine();
    }
}

3. 二维数组的遍历

和操作一维数组类似,也可以使用foreach关键字遍历二维数组:

foreach(int item in array)
{
    Console.Write("{0} ", item);
}

需要注意的是,使用foreach遍历时,元素的顺序是按照行的顺序来遍历的。

四、小标题

1. CBA总决赛

在CBA总决赛中,很多球员赛前会进行“数钱”动作来为比赛做准备。而如果需要把球员进行分组,就可以使用二维数组来进行映射。例如,将所有下标为奇数的球员放入一个数组,偶数的放入另一个数组:

string[] players = {"A", "B", "C", "D", "E", "F"};
string[,] teams = new string[2, 3];

for(int i=0; i<players.Length; i++)
{
    teams[i%2, i/2] = players[i];
}

Console.WriteLine("Team 1:");
for(int i=0; i<teams.GetLength(1); i++)
{
    Console.Write("{0} ", teams[0,i]);
}
Console.WriteLine();

Console.WriteLine("Team 2:");
for(int i=0; i<teams.GetLength(1); i++)
{
    Console.Write("{0} ", teams[1,i]);
}
Console.WriteLine();

2. Clash

Clash是一款多人在线游戏,很多操作都涉及到数组的使用。例如,在游戏中会有一个用户列表,可以使用二维数组来表示每个用户的各种属性:

string[,] users = new string[3, 5]
{
    {"1", "Tom", "18", "M", "11111111111"},
    {"2", "Jerry", "19", "F", "22222222222"},
    {"3", "Mickey", "20", "M", "33333333333"}
};

3. CBA赛程

在CBA比赛中,经常会有多个比赛需要同时进行。可以用一个二维数组来表示这些比赛的时间、地点等信息:

string[,] games = new string[3, 4]
{
    {"2022-01-01 18:00", "A1", "B1", "Venue1"},
    {"2022-01-02 14:00", "C2", "D2", "Venue2"},
    {"2022-01-03 20:00", "E3", "F3", "Venue3"}
};

5. CCT5在线直播

在直播中,可以使用一个二维数组表示不同频道和不同时段的直播信息:

string[,] live = new string[,]
{
    {"CCTV-5", "2022-01-01 18:00:00", "NBA: LA Lakers VS NY Knicks", "liveUrl1"},
    {"CCTV-5", "2022-01-02 14:00:00", "CBA: A Team VS B Team", "liveUrl2"},
    {"CCTV-6", "2022-01-03 20:00:00", "CBA: C Team VS D Team", "liveUrl3"}
};

五、结语

本文主要介绍了c#二维数组的定义与赋值,以及数组的访问、操作和遍历。二维数组的应用非常广泛,可以用来存储多个有关联的数据。希望本文能够帮助读者更好地理解二维数组的使用方法。