HOW TO:建立沒有元素的陣列
更新:2007 年 11 月
沒有元素的陣列也稱為「長度為零的陣列」。含有長度為零的陣列的變數並不會具有 Nothing 值。
在下列情況中,您可能需要建立長度為零的陣列:
程式碼需要存取 Array 類別的成員 (例如 Length 或 Rank) 或呼叫 Visual Basic 函式 (例如 UBound 函式 (Visual Basic)),而不會有發生 NullReferenceException 例外狀況的風險。
您希望不需檢查 Nothing (以特殊情況處理),讓使用程式碼更簡單。
程式碼會與應用程式發展介面 (Application Programming Interface,API) 互動,這個介面會要求您傳遞長度為零的陣列給一或多個程序,或從一或多個程序傳回長度為零的陣列。
若要建立沒有元素的陣列
將陣列的維度 (Dimension) 之一宣告為 -1。下列範例會宣告變數包含具有String 資料型別 (Visual Basic) 元素的陣列,但是一開始設定為空白。
Dim twoDimensionalStrings(-1, 3) As String
在此陳述式 (Statement) 執行之後,變數 twoDimensionalStrings 內的陣列為二維且長度為 0。陣列雖然是空白的,但是仍然存在。因此,指向陣列的變數不等於 Nothing。接著,您可以建立非空白陣列,並將其指派給 twoDimensionalStrings。
相較之下,下列範例會宣告一開始並未指向任何陣列的陣列變數。
Dim twoDimStrings( , ) As String
不同於上述範例中的 twoDimensionalStrings,變數 twoDimStrings 會具有值 Nothing。