陣列:代表一個值以上的變數
更新:2007 年 11 月
在本課程中,您將學習如何使用「陣列」,儲存值群組。
如同上一個課程所說明的,變數是用來儲存程式所使用之不同型別的資料。還有另外一種變數稱為「陣列」,提供儲存幾個相同型別值的便利方式。
例如,假定您是在撰寫棒球隊的程式,而您要儲存在棒球場上所有球員的姓名。您可以分別建立九個不同的字串變數 (一個球員一個變數),也可以宣告陣列變數,大概就類似以下所示的程式碼。
Dim players() As String
您是透過在變數名稱之後加括弧,宣告陣列變數。如果您知道需要儲存多少變數,也可以如下所示,在宣告中指定陣列大小。
Dim players(8) As String
陣列的大小是 9,因為棒球隊共有 9 名球員。陣列是由幾個值或「元素」所組成,從元素 0 開始,並以比宣告中所指定的數目少一的元素結束。在本範例中,陣列包含元素 0 到 8,一共有九個元素。當您要參考球隊中的一名球員時,只需要減 1。例如,若要參考第一名球員,您便需要參考元素 0,若要參考第九名球員,則需要參考元素 8。
指派值給陣列
就像其他型別的值一樣,您也必須將值指派給陣列。若要這樣做,您必須如下所示,將元素編號做為指派的一部分。
players(0) = "John"
players(3) = "Bart"
在上述程式嗎中,值 John 是指派給陣列的第一個元表 (元素 0),而值 Bart 則是指派給第四個元素 (元素 3)。陣列的元素不一定要依順序指派,任何未指派的元素都會有預設值,在本範例中是空白字串。
與其他類型的值一樣,您可以在同一行上宣告並指派值給陣列,如下所示。
Dim players() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9}
在本範例中,大括號表示一份值清單。值是依所列順序指派給元素。請注意,陣列大小並未指定,而是由所列出的項目數決定。
從陣列中擷取值
就像在陣列中以數目指定項目的位置一樣,您也是使用元素數目指定您要擷取的值。
Dim AtBat As String
AtBat = players(3)
上述程式碼擷取陣列的第四個元素,並指派給字串變數 AtBat。
試試看!
若要在陣列中儲存值
在 [檔案] 功能表上,按一下 [新增專案]。
在 [新增專案] 對話方塊中,按一下 [範本] 窗格中的 [Windows 應用程式]。
在 [名稱] 方塊中,輸入 MyFirstArray,再按 [確定]。
會開啟新的 Windows Form 專案。
從 [工具箱] 將 [Textbox] 控制項拖曳到表單上。
從 [工具箱] 將 [按鈕] 控制項拖曳到表單內。
按兩下 [按鈕],開啟 [程式碼編輯器]。
在 Button1_Click 事件程序中,加入下列程式碼:
Dim players() As String = {"Dan", "Fred", "Bart", "Carlos", _ "Ty", "Juan", "Jay", "Sam", "Pedro"} Dim i As Integer = CInt(Textbox1.Text) MsgBox(players(i) & " is on first base.")
請注意,上述程式碼使用 CInt 函式,將 String 值 (TextBox1.Text) 轉換成 Integer (i)。您可以在詳述:轉換變數型別中了解轉換的詳細資訊。
請按 F5 執行程式。
在文字方塊中輸入介於 0 與 8 之間的數目,然後按一下按鈕。對應於該元素的名稱將顯示在訊息方塊中。
秘訣
您應該撰寫額外的程式碼檢查輸入的資料是有效的。例如,您可以檢查輸入的值是 0 與 8 之間的數值。請參閱發生錯誤時要執行的動作:處理錯誤。
後續步驟
在本課程中,您學會如何使用陣列,儲存及擷取相似值的群組。
在下一個課程中,您將學習如何使用算術運算子,建立運算式。
下一個課程:算數:以變數和運算子建立運算式