App下載

C# 編程語言學(xué)習(xí)系列(七)

激萌少女李逵 2021-12-14 11:05:56 瀏覽數(shù) (2690)
反饋

上一篇文章中,已經(jīng)學(xué)習(xí)記錄了 C# 語言中的循環(huán)語句,其中在介紹 foreach 循環(huán)的時(shí)候還涉及到了數(shù)組的使用。今天主要來詳細(xì)學(xué)習(xí)記錄一下關(guān)于 C# 中的數(shù)組知識(shí)。

1、數(shù)組的定義

第三篇文章中,已經(jīng)了解了變量是用來存儲(chǔ)一個(gè)值的。那么,如果我們想要存儲(chǔ)更多的值,應(yīng)該用什么方法?

數(shù)組就是可以用來存儲(chǔ)多個(gè)值的其中一個(gè)方法。但數(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ù)類型,所以會(huì)使用 new 關(guān)鍵詞來創(chuàng)建數(shù)組實(shí)例。
  • int[3] - 表示確定數(shù)組的大小為 3,也就是長(zhǎng)度為 3,可以存儲(chǔ) 3 個(gè)相同類型的值。
  • nums[0] - 表示數(shù)組 nums 第一個(gè)位置的值。關(guān)于索引的問題,下面詳解。

第二種,聲明數(shù)組的同時(shí)直接賦值

int[] nums = {1, 2, 3};
  • 這種方法雖然沒有使用 new 關(guān)鍵字來創(chuàng)建數(shù)組實(shí)例,但在編譯的時(shí)候,編譯器會(huì)為之添加上。
  • 大括號(hào)里面數(shù)值的個(gè)數(shù),就將會(huì)是數(shù)組的大小。每個(gè)值按順序,依次排列在數(shù)組中。

第三種,創(chuàng)建并初始化數(shù)組

int[] nums = new int[3]{1, 2, 3};
  • int[3] - 方括號(hào)中的數(shù)值大小可有可無,如果指定了大小,那么后面大括號(hào)所跟的數(shù)值個(gè)數(shù)必須和大小一致;如果沒有指定,那么大括號(hào)里的數(shù)值個(gè)數(shù)就將會(huì)是該數(shù)組的大小。

3、數(shù)組索引

數(shù)組中的元素,是通過帶有索引的數(shù)組名來進(jìn)行訪問的。因此,就可以對(duì)數(shù)組中指定位置的元素進(jìn)行修改等操作。

例如:將下面數(shù)組中的第二個(gè)位置元素改換為 7.

int[] nums = {1, 2, 3};
nums[1] = 7;

如此一來就已經(jīng)完成了修改。使用 foreach 循環(huán),來查看一下數(shù)組中的元素。

for(int elm in nums){
   Console.WriteLine(elm);
}

image-20211214104627083

從結(jié)果可以看到,數(shù)組第二個(gè)位置的值已經(jīng)從 2 修改為 7.

這里還要說一下索引的問題:

在絕大多數(shù)的編程語言當(dāng)中,索引一般都是從 0 開始的。因此 nums[0] 就表示數(shù)組中的第一個(gè)位置;nums[1] 就表示數(shù)組中的第二個(gè)位置...以此類推。

4、多維數(shù)組

上面說的這些都屬于是一維數(shù)組,但在現(xiàn)實(shí)中,一維數(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ù)組套著數(shù)組,無限套。

5、總結(jié)

C# 中關(guān)于數(shù)組的初步學(xué)習(xí)內(nèi)容就記錄到此結(jié)束了。下面整理一下上面的內(nèi)容:

(1)變量是用來存儲(chǔ)一個(gè)值的,而數(shù)組是用來存儲(chǔ)多個(gè)相同類型的值。

(2)數(shù)組聲明賦值的方法:

  • 聲明類型和大小,通過索引進(jìn)行分別賦值。
  • 聲明類型,直接賦值。
  • 創(chuàng)建實(shí)例并初始化,直接進(jìn)行賦值。

(3)索引是從 0 開始的。數(shù)組可以通過帶有索引的數(shù)組名來進(jìn)行訪問數(shù)組中的元素。

(4)多維數(shù)組的創(chuàng)建和賦值基本上和一維數(shù)組是一致的。多維數(shù)組就是數(shù)組的數(shù)組。


C#

0 人點(diǎn)贊