一、二維數組的定義
在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#二維數組的定義與賦值,以及數組的訪問、操作和遍歷。二維數組的應用非常廣泛,可以用來存儲多個有關聯的數據。希望本文能夠幫助讀者更好地理解二維數組的使用方法。
原創文章,作者:JGLL,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/133888.html