2016年8月4日

C#陣列的使用

陣列是之前碰到一個相當複雜的問題,不過一方面大概也是我的腦容量不足以承擔那麼多數值的關係。範例是製作如圖般的結果,以兩個一維陣列將姓名和分數列出來,再以Array.Sort()方法排序後讓分數和姓名的部份相關聯。

範例製作結果
範例原始碼

Array.Sort()

範例用到最主要的方法,用來排序(由小到大)使用。若只寫Array.Sort(score)是對score陣列作排序,但如果寫複數陣列的話如Array.Sort(score,name)則是讓後者(name)跟隨前者(score)的排序。

GetUpperBound()

會回傳陣列的「索引上限」,也就是這個陣列能夠容納的索引中最大的那個。這個範例中以score而言的話會回傳5(陣列由0開始,所以維度是0,1,2,3,4,5);括號中需要的參數是dimension(維度),同樣也是由0開始計算,所以一維的話就是(0),而二維則可以寫(0)也可以寫(1)。

GetLength()

會回傳陣列的索引長度,或是說「這個陣列內含的索引總數(看有幾個索引)」,但因為索引的數量是從1開始計算,所以在這個範例中要-1,不然會超過陣列的上限(5)而報錯。這部份我理解了一下才想通。括號內的參數一樣是dimension(維度),和GetUpperBound()相同。 

參考:
學習隨手札:[Array][coding] GetUpperBound, GetLength 陣列維度/長度的取得 
MSDN:Array.GetUpperBound方法(Int32) 

沒有留言:

張貼留言

路過留個言

後會無期了,Smash & Magic

從去年發佈後玩到現在的彈珠like手遊『Smash & Magic』在昨天例行更新後發佈了停止營運的公告,這之後一直到今年的10/31關閉為止,就是這款手遊的最後一哩路了。