上一篇文章中,已經(jīng)學習記錄了 C# 語言中的循環(huán)語句,其中在介紹 foreach 循環(huán)的時候還涉及到了數(shù)組的使用。今天主要來詳細學習記錄一下關于 C# 中的數(shù)組知識。
1、數(shù)組的定義
在第三篇文章中,已經(jīng)了解了變量是用來存儲一個值的。那么,如果我們想要存儲更多的值,應該用什么方法?
數(shù)組就是可以用來存儲多個值的其中一個方法。但數(shù)組也有限制,例如數(shù)組里面的值必須是相同數(shù)據(jù)類型的,而且數(shù)組是固定大小的,因此不能任意更改數(shù)組大小。
2、數(shù)組賦值
在 C# 中,數(shù)組的創(chuàng)建方式有三種:
第一種,通過索引值賦值
int[] nums = new int[3];
nums[0] = 1;
- new - 數(shù)組是 C# 中的引用數(shù)據(jù)類型,所以會使用 new 關鍵詞來創(chuàng)建數(shù)組實例。
- int[3] - 表示確定數(shù)組的大小為 3,也就是長度為 3,可以存儲 3 個相同類型的值。
- nums[0] - 表示數(shù)組 nums 第一個位置的值。關于索引的問題,下面詳解。
第二種,聲明數(shù)組的同時直接賦值
int[] nums = {1, 2, 3};
- 這種方法雖然沒有使用 new 關鍵字來創(chuàng)建數(shù)組實例,但在編譯的時候,編譯器會為之添加上。
- 大括號里面數(shù)值的個數(shù),就將會是數(shù)組的大小。每個值按順序,依次排列在數(shù)組中。
第三種,創(chuàng)建并初始化數(shù)組
int[] nums = new int[3]{1, 2, 3};
- int[3] - 方括號中的數(shù)值大小可有可無,如果指定了大小,那么后面大括號所跟的數(shù)值個數(shù)必須和大小一致;如果沒有指定,那么大括號里的數(shù)值個數(shù)就將會是該數(shù)組的大小。
3、數(shù)組索引
數(shù)組中的元素,是通過帶有索引的數(shù)組名來進行訪問的。因此,就可以對數(shù)組中指定位置的元素進行修改等操作。
例如:將下面數(shù)組中的第二個位置元素改換為 7.
int[] nums = {1, 2, 3};
nums[1] = 7;
如此一來就已經(jīng)完成了修改。使用 foreach 循環(huán),來查看一下數(shù)組中的元素。
for(int elm in nums){
Console.WriteLine(elm);
}
從結(jié)果可以看到,數(shù)組第二個位置的值已經(jīng)從 2 修改為 7.
這里還要說一下索引的問題:
在絕大多數(shù)的編程語言當中,索引一般都是從 0 開始的。因此 nums[0] 就表示數(shù)組中的第一個位置;nums[1] 就表示數(shù)組中的第二個位置...以此類推。
4、多維數(shù)組
上面說的這些都屬于是一維數(shù)組,但在現(xiàn)實中,一維數(shù)組可能不足以滿足我們的需求,可能需要更多維度的數(shù)組。
一維數(shù)組:[1, 2, 3, 4, 5]
二維數(shù)組:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
從上面來看,二維數(shù)組就是一維數(shù)組里面套著一維數(shù)組。也就是說二維數(shù)組是數(shù)組的數(shù)組。
int[][] nums = new int[2][2];
nums[0][0] = 1;
nums[0][1] = 2;
nums[1][0] = 3;
nums[1][1] = 4;
// nums = [[1, 2], [3, 4]]
二維數(shù)組的創(chuàng)建和賦值和一維數(shù)組其實是一樣的。
以此類推,多維數(shù)組就是在不停地套娃,數(shù)組套著數(shù)組,無限套。
5、總結(jié)
C# 中關于數(shù)組的初步學習內(nèi)容就記錄到此結(jié)束了。下面整理一下上面的內(nèi)容:
(1)變量是用來存儲一個值的,而數(shù)組是用來存儲多個相同類型的值。
(2)數(shù)組聲明賦值的方法:
- 聲明類型和大小,通過索引進行分別賦值。
- 聲明類型,直接賦值。
- 創(chuàng)建實例并初始化,直接進行賦值。
(3)索引是從 0 開始的。數(shù)組可以通過帶有索引的數(shù)組名來進行訪問數(shù)組中的元素。
(4)多維數(shù)組的創(chuàng)建和賦值基本上和一維數(shù)組是一致的。多維數(shù)組就是數(shù)組的數(shù)組。