切換
舊版
前往
大廳
主題

資策會Unity課程「C#」Day4&5 Part2

冰劍士-冰雪飛 | 2014-10-24 17:30:03 | 巴幣 6 | 人氣 3798

繼上一篇的Part2,本篇所撰寫的是關於「陣列、集合、泛型」的部分

本來在後面有教到「物件導向」的部分,不過我打算放在下篇再講會比較好
=====================================================================
陣列
int[] xxx = new int[6];

這是個陣列的示意圖,我們所指派的陣列總大小為 6大小指派好後不能任意改變
內部位址從 0 開頭到 5,而位址內可以存取參數值,但必須型態都一樣,不然建置會發生錯誤


上圖是各種陣列的指派法,分為一維、多維、不規則陣列三種,這篇文長僅提一維和多維

如何取用裡面的值?這就要注意所謂的位址

我們在第二行輸出時選用 x1 的位址 3,但結果跑出來的值是 4
在前面有講過,開頭位址是 0,到最後結尾位址是總長 -1
=====================================================================
多維陣列


二維陣列以上的我們通稱多維陣列,這是個簡易的二維陣列示意圖
基本上都跟一維差不了太多,只是要稍微注意一下它的位址概念
=====================================================================
陣列指派
為何x2[0]++連帶影響到x1[0]?這是因為我們是指派陣列給變數的關係
就像圖2所示,x1指派一個陣列,而x2等於x1所指派的陣列,並非新增一個陣列
=====================================================================
foreach迴圈
適合用在陣列的迴圈

括弧內形態要設置的跟你要跑的迴圈一樣型態,in 後接要跑的迴圈
=====================================================================
集合

使用集合前請先補上 using System.Collections; 不然無法使用
結構大致上跟陣列差不多,就差在大小無限延伸和型態不一致,彈性相當的大
=====================================================================
Boxing/Unboxing

Boxing:將 value 型態的資料轉成 object 型態的物件
Unboxing:將 object 型態的物件轉成value 型態的資料
=====================================================================
泛型

這是C#特有的功能,基本上跟集合非常相似,但只能填入相同的型態
而由於型態都相同,所以不用Boxing和轉型,也能在編譯檢查減少錯誤,同時提升效能
可以套用到 class、struct、interface、delegate方法
=====================================================================
以上等概念都是對大量資料做整理演算用的到,也包刮遊戲內的不同屬性等

往後的「資料結構」和「演算法」都會將上述的發揮至極

創作回應

更多創作