2010-07-14 29 views
0

如果我dim一個數組來說,5個元素,如果我去添加第6個元素,它不應該失敗嗎?我認爲這用於要求redim。在.NET 2.0中,我有一個長度爲3的字符數組。當我從數據庫填充它時,一個記錄中有4個字符,並且它已成功將所有4個字符添加到數組中?在ASP.NET 2.0中數組是否真的是固定的長度?

+0

代碼示例。 數組是固定長度,列表可以相應增長。 – Robert 2010-07-14 15:14:01

回答

3

如果您將字符數組分配給包含任何大小數組的現有數組變量,它將創建一個所需大小的新數組。原始數組是垃圾收集。

char[] c = new char[3]; 
c = reader.ReadCharacters(5); // read 5 characters into new array, assign to c 
Debug.Print(c.Length);   // Prints 5. 
+0

似乎很奇怪,在將其定義爲5之後,分別從db讀取時,我必須指定只抓取5個字符。 – donde 2010-07-14 15:16:07

+1

將數組變量看作是對堆中數組的引用。當您將新數組分配給變量時,變量現在保存對新數組的引用,而不是舊數組。 – 2010-07-14 15:19:35

1

只是添加到當前的答案,萬一這是問題。在VB.NET中,你聲明數組的上限,而不是期望的長度。

例如:

Dim arr(3) as Integer 'length of 4 

該數組有4種元素,0 - 3。它確實有長度爲3,如果你在C#表示,這將是這種情況:

int[] arr = new int[3]; //length of 3 

我不知道這是你的問題,但只是爲了以防萬一

相關問題