【基礎級】-[陣列]-一維陣列

閱讀時間約 7 分鐘
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的:
資料型別[ ] 陣列名稱 =  new 資料型別[陣列大小];
說明:等號左邊是做宣告,而右邊是做建立的動作。

一、初始值設定

那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看:

1.有給予陣列大小,想逐一給值

陣列名稱[指定的索引值]=內容;
例子:
string[] name = new string[3];
name[0]="湯姆";
name[1]="莎拉";
name[2]="貞珍";
name[3]="奇齊";

2.無給予陣列大小,可一次給足

注意:這邊就要用中括號把內容值包起來,值與值間要用「,」逗號隔開ㄛ!
(1)有做new建立動作
資料型別[ ] 陣列名稱 =  new 資料型別[]{內容值1,內容值2...};
Ex:
string[] name = new string[]{"湯姆" , "莎拉" , "貞珍" ,"奇齊"};
(2)無做nwe建立動作
資料型別[ ] 陣列名稱 = {內容值1,內容值2...};

Ex:
string[] name = {"湯姆" , "莎拉" , "貞珍" ,"奇齊"};
內容值寫到這就表示目前name這個陣列大小有4個,並且在name[0]的值是湯姆,以此類推。使用中括號將內容值括起來,裡面的內容也是有順序的,也是要從[0]開始算起的喔!

二、存取陣列

有了初始值設定,那麼要如何取得裡面的值呢?又或是一開始不知道內容值想要存進陣列中又該要怎麼做呢?
有人說:我知道!就這樣就好啦~(假若資料型態為string)
string A = name[0];
這樣A不就取得name[0]的值了嗎!或是反過來
string name[0]="光光";
沒錯!非常好!但是遇到要取其中100個值呢?取1000個呢?難道要使用這樣方法嗎?這樣豈不費力,並且還讓程式變得很冗長?
有人又說:那就用陣列呀!
是!但是這問題不就又回到原本問題嗎?而且在用陣列,不就又複製新的陣列了對吧~
那麼該怎麼辦?我們有一個很好用的工具,還記得for迴圈嗎?它是這樣用的:(這邊我們運用Visual Studio的label元件)
string[] name = new string[]{"湯姆" , "莎拉" , "貞珍" ,"奇齊"};
label1.Text = ""; //清空文字
for(int i = 0  ;  i < name.Length  ;  i++)
{
  label1.Text += "第" + i + "項的內容值為" + name[i] + "\r\n";
}
這邊應該會需要說明一下,for迴圈這邊應該比較有問題:
(1)label1.Text = "" :這邊.Text是對於label1做修改文字的部分,也可以使用下面這一行方式也可以達到文字清空部分
label1.Text = string.Empty;

(2)name.Length :取得name的陣列大小
(3)+= 的運算 :這個是指將原本的值 與 要給予的值 做串接
(4)字串內容若是直接給予的內容文字的話需要用""來括起來,有變數要加進來,就只需要用 + 來串接即可。

(5)name[i] :i會因為迴圈關係而改變,那麼name的陣列索引值也就會跟著i去做改變,也就可以直接帶出內容值出來。

(6)\r\n  :這個是屬於控制字元部分,也是需要在""中來括起來。
‧ \r 是指將指標回到最開頭
‧ \n是指換行,也可使用Environment.NewLine,不過這個就不用使用""括起來了,用法就會是:
label1.Text+="第"+i+"項的內容值為"+name[i]+Environment.NewLine;
這樣的程式結果就會是:msgValue的值就會等於
第0項的內容值為湯姆
第1項的內容值為莎拉
第2項的內容值為貞珍
第3項的內容值為奇齊

【實例】

我們實際來看一下VC#上執行狀況,先建立新專案
(忘了怎麼建立,可以看【入門級】-Visual Studio介紹)
1.從工具箱選擇Button按鈕、Lable文字區塊,在form1介面上拉出想要的大小以及移動到想要的位置上
元件選擇
2.我們就先修改元件的文字,將button1顯示的文字改成「一維陣列」
元件文字修改
3.將剛剛的button1按鈕快速點兩下,就會進入到button1元件驅動的地方讓我們寫程式,指標就會在這邊停下來(目前驅動它的方法默認為滑鼠左鍵點選一下),將剛剛程式for迴圈那段內容輸入進來
說明:
為什麼文字已修改一維陣列了,程式還顯示button1?這是因為我們修改的是Text顯示的內容,並不是修改元件名稱ㄛ!
想要修改名稱可以到剛剛屬性那邊,滑到最上面有個(Name)就可以去做修改,不過盡量以英文為主
for迴圈程式輸入
4.輸入完後點選上面的開始按鈕,就可以執行程式了(會先檢查程式後無重大錯誤才執行)
開始執行程式
5.執行結果,點選按鈕後就會將label1這樣的文字做清除後,才會把我們要顯示的資料顯示出來。
for迴圈結果

三、foreach迴圈


咦?怎麼多了一個這樣的迴圈?這是什麼呢?這個是對於陣列或是物件的集合的一個迴圈,當我們不確定繼續執行的條件判斷式,那麼就可以使用foreach迴圈了。怎麼用?看語法:
foreach(資料型別 變數名稱 in 陣列名稱或物件集合)
{
  敘述;
}
注意:當你的資料型別設定時,要跟陣列名稱或物件集合的資料型別一樣才不會出錯。
那我們就用剛剛的例子來舉例:
string[] name = new string[] { "湯姆", "莎拉", "貞珍", "奇齊" };
label2.Text = "";
foreach(string i in name)
{
  label2.Text += i + "\r\n";
}
此時的 i 就不是引述了哦!而是name的依序索引值所帶出來的值,也就是說當第一次進入迴圈name索引值是0,而i得到的結果就會是湯姆。可以直接看程式結果就更清楚明瞭了。
程式結果如下:
湯姆
莎拉
貞珍
奇齊

【實例】

我們實際來看一下VC#上執行狀況

1.再新增一次Button、label兩元件
2.在按鈕快速點兩下進入程式區寫入foreach程式
foreach迴圈程式輸入
3.點選按鈕後結果
foreach結果
這樣大家知道在陣列中使用 for 和 foreach 的差異了嗎?
不熟的話可以多練習幾遍,VC#工具箱裡的元件它屬性也可以自行玩玩看設定看看。
為什麼會看到廣告
avatar-img
21會員
43內容數
Hello~ Welcome to my blog~❤ 這邊會分享我在程式這條道路中的學習與成長, 過程中從而了解自己的不足,再學習。 希望透過分享的方式, 也讓正在學習程式的夥伴們一起學習, 我們一起加油吧~ 「彼此都會成為彼此之間的影響力」(´,,•ω•,,)♡ ❣
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
橙果杏的沙龍 的其他內容
  陣列(Array)是什麼?它是一個很好用的東西哦!當我們要處理100個學生的成績的時候,如果沒有陣列的話,那麼我們的變數就要命名100個不同的變數,這樣的程式雖然不是不能執行,想一想,是不是有一點要在命名上會想破頭殼呢?因為要想100個不同的變數麻~   你說:「那就變數後面加入編號就好啦~如
什麼是迴圈?就是不停地、不斷地在做同樣的事,所以才稱「重複性迴圈」,因為一直再輪迴,那麼像上一篇的例子,不到60分就要一直補考是要怎麼用呢?重複性迴圈主要有for迴圈、while迴圈、do...while迴圈,有何不一樣?接下來就來介紹一下它們? 一、for迴圈 這一個會運用到初始值、繼續執行的條件
這是一個判斷選擇的交叉路口,有分為兩種:一種是條件性的,另一種是重複性的。 什麼是「條件性」呢?通常中文的造句就是:如果...就....這樣類型的句子,通常都會有條件式的來判斷,舉例:如果你分數60以上就代表及格,否則為不及格。 那麼「重複性」呢?就如同國小國中的小考,有些認真的老師希望學生可以達到
  程式中很常會看到千奇百怪的運算式,這些運算式都隱藏著各種運算元和運算子,這些是什麼呢?讓我們來一探究竟。   運算元是指變數、常數這類(如:A、B、C、Data、123等),運算子是指運算符號(如:+、-、*、/、%、==、<、&&等這類型),這邊就要介紹C#的運算子以及怎麼使用。
一、自動轉型-二、明確轉型-三、Parse方法-補充、日期時間的轉換>>> 當我們在撰寫程式過程中,有可能會遇到在做資料處理時與一開始宣告的資料型別不一樣,這時就會需要資料型別轉換了。那這邊有四種轉換介紹: 一、自動轉型 運算過程中在精確度不會改變時,程式就會自動幫我們做轉型處理,什麼意思呢?就是
一、存取修飾詞public / private / protected / internal 二、參數修飾詞ref / in / out >>>>>由於我們在寫程式時,會去宣告一些變數、常數相關識別詞,並且在class(類別)中會寫一些事情或動作讓程式去運行,然而這個概念就是去定義對於我們所寫的內容
  陣列(Array)是什麼?它是一個很好用的東西哦!當我們要處理100個學生的成績的時候,如果沒有陣列的話,那麼我們的變數就要命名100個不同的變數,這樣的程式雖然不是不能執行,想一想,是不是有一點要在命名上會想破頭殼呢?因為要想100個不同的變數麻~   你說:「那就變數後面加入編號就好啦~如
什麼是迴圈?就是不停地、不斷地在做同樣的事,所以才稱「重複性迴圈」,因為一直再輪迴,那麼像上一篇的例子,不到60分就要一直補考是要怎麼用呢?重複性迴圈主要有for迴圈、while迴圈、do...while迴圈,有何不一樣?接下來就來介紹一下它們? 一、for迴圈 這一個會運用到初始值、繼續執行的條件
這是一個判斷選擇的交叉路口,有分為兩種:一種是條件性的,另一種是重複性的。 什麼是「條件性」呢?通常中文的造句就是:如果...就....這樣類型的句子,通常都會有條件式的來判斷,舉例:如果你分數60以上就代表及格,否則為不及格。 那麼「重複性」呢?就如同國小國中的小考,有些認真的老師希望學生可以達到
  程式中很常會看到千奇百怪的運算式,這些運算式都隱藏著各種運算元和運算子,這些是什麼呢?讓我們來一探究竟。   運算元是指變數、常數這類(如:A、B、C、Data、123等),運算子是指運算符號(如:+、-、*、/、%、==、<、&&等這類型),這邊就要介紹C#的運算子以及怎麼使用。
一、自動轉型-二、明確轉型-三、Parse方法-補充、日期時間的轉換>>> 當我們在撰寫程式過程中,有可能會遇到在做資料處理時與一開始宣告的資料型別不一樣,這時就會需要資料型別轉換了。那這邊有四種轉換介紹: 一、自動轉型 運算過程中在精確度不會改變時,程式就會自動幫我們做轉型處理,什麼意思呢?就是
一、存取修飾詞public / private / protected / internal 二、參數修飾詞ref / in / out >>>>>由於我們在寫程式時,會去宣告一些變數、常數相關識別詞,並且在class(類別)中會寫一些事情或動作讓程式去運行,然而這個概念就是去定義對於我們所寫的內容
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
「葉子,區長說要開電腦課,請你當講師行嗎?教操作Word及Excel。」 一日,人事主任翩翩登場,問道,在我回答前又補了一句:「有講師費喔。」 嗯?嗯?我看起來是這麼勢利的人嗎! 就算是免費授課,我也是可以考慮為同仁犧牲奉獻的…… 不過既然都這麼有誠意了,當然好囉!
Thumbnail
大紀町位於三重縣中南部,東、南與紀伊山地的分水嶺接壤,總面積233.32平方公里森林約佔91%,地形普遍陡峭,地勢整體較陡峭,流經町內的一級河川宮川、大內山川、藤川沿岸散佈著住宅和農田,私人住宅集中在少量土地上,農業用地約佔3.5%,住宅用地約佔0.9%,是典型的沿海農村地區。雖然氣候相對溫暖,但與
Thumbnail
在實務上,條碼槍傳送的資訊可能包含不可見字符或控制字符。這可能是因為條碼槍在傳送條碼數據時使用了一些特殊字符,這些字符在可見字符集合之外,例如 \x06 就是 ASCII 中的 "ACK" 控制字符。 本文將探討,如何查詢及處理這些特殊字符。
Thumbnail
今天來記錄版本升級的做法(z版號),Kubernetes的版本更新的很快,所以版本升級是每個管理者所必須要會的必備技能,建議版本升級之前要先去確認升級路徑,不是每個版本號都能一次升級到你需要的版本。
Thumbnail
在運動場上會讓人感到熱血、興奮的動作有哪些呢?一般來說當然是做出逆轉對手、後來居上的運動表現,像是超車、壓哨球、再見全壘打等等;當然也會有單一動作,好比是灌籃、殺球、三振、不可思議的旋轉。然而所有複雜的動作跟驚人的表現,都是建立在最基本的動作裡,所謂卓越的運動表現,基本概念不外乎是更快、更高、更強。
Thumbnail
去懂得自己合作上會遇到其他職務的細節是件必然的事!也因為懂得與理解,那些龜毛難搞的堅持與固執,才能有更好的磨合,工作起來順暢、合作起來愉快,才不會花大把的時間在抱怨工作、厭世人生!(工作快快做好,快點去玩不好嗎?)
Thumbnail
對於不是哲學背景的人來說,邏輯療法重在邏輯規則的分析,是相對好切入哲諮的方式。課後,我也閱讀了邏輯療法創始人Elliot Cohen的著作,綜合課堂和讀書筆記,整理成本篇文章,為邏輯
再來就是上板滑行拉~~ 泰勒上板到「勉強滑行」練習了2-3次(天) 現在回想,從站上滑板開始到能在平地順利滑動我會拆分成三個步驟: 上板、單腳滑行練習、雙腳上板加速
大家好,我是吳照麟,66歲的法定老人,也是大家"科技養生"路上的好友。 老陳經過三年的工作室"平衡整復"服務,已經在最近超過10,000人次的服務總量;同時,也發現許多的客人在面對身體健康問題時,伴隨許多的疑問?這些疑問不僅影響他們對是否身體生病了或只是身體轉好反應?+病症或病因的判斷?+調理或吃藥
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
「葉子,區長說要開電腦課,請你當講師行嗎?教操作Word及Excel。」 一日,人事主任翩翩登場,問道,在我回答前又補了一句:「有講師費喔。」 嗯?嗯?我看起來是這麼勢利的人嗎! 就算是免費授課,我也是可以考慮為同仁犧牲奉獻的…… 不過既然都這麼有誠意了,當然好囉!
Thumbnail
大紀町位於三重縣中南部,東、南與紀伊山地的分水嶺接壤,總面積233.32平方公里森林約佔91%,地形普遍陡峭,地勢整體較陡峭,流經町內的一級河川宮川、大內山川、藤川沿岸散佈著住宅和農田,私人住宅集中在少量土地上,農業用地約佔3.5%,住宅用地約佔0.9%,是典型的沿海農村地區。雖然氣候相對溫暖,但與
Thumbnail
在實務上,條碼槍傳送的資訊可能包含不可見字符或控制字符。這可能是因為條碼槍在傳送條碼數據時使用了一些特殊字符,這些字符在可見字符集合之外,例如 \x06 就是 ASCII 中的 "ACK" 控制字符。 本文將探討,如何查詢及處理這些特殊字符。
Thumbnail
今天來記錄版本升級的做法(z版號),Kubernetes的版本更新的很快,所以版本升級是每個管理者所必須要會的必備技能,建議版本升級之前要先去確認升級路徑,不是每個版本號都能一次升級到你需要的版本。
Thumbnail
在運動場上會讓人感到熱血、興奮的動作有哪些呢?一般來說當然是做出逆轉對手、後來居上的運動表現,像是超車、壓哨球、再見全壘打等等;當然也會有單一動作,好比是灌籃、殺球、三振、不可思議的旋轉。然而所有複雜的動作跟驚人的表現,都是建立在最基本的動作裡,所謂卓越的運動表現,基本概念不外乎是更快、更高、更強。
Thumbnail
去懂得自己合作上會遇到其他職務的細節是件必然的事!也因為懂得與理解,那些龜毛難搞的堅持與固執,才能有更好的磨合,工作起來順暢、合作起來愉快,才不會花大把的時間在抱怨工作、厭世人生!(工作快快做好,快點去玩不好嗎?)
Thumbnail
對於不是哲學背景的人來說,邏輯療法重在邏輯規則的分析,是相對好切入哲諮的方式。課後,我也閱讀了邏輯療法創始人Elliot Cohen的著作,綜合課堂和讀書筆記,整理成本篇文章,為邏輯
再來就是上板滑行拉~~ 泰勒上板到「勉強滑行」練習了2-3次(天) 現在回想,從站上滑板開始到能在平地順利滑動我會拆分成三個步驟: 上板、單腳滑行練習、雙腳上板加速
大家好,我是吳照麟,66歲的法定老人,也是大家"科技養生"路上的好友。 老陳經過三年的工作室"平衡整復"服務,已經在最近超過10,000人次的服務總量;同時,也發現許多的客人在面對身體健康問題時,伴隨許多的疑問?這些疑問不僅影響他們對是否身體生病了或只是身體轉好反應?+病症或病因的判斷?+調理或吃藥