数组在ASP.NET 2.0中是否真的固定长度?

时间:2010-07-14 15:03:40

标签: asp.net vb.net arrays .net-2.0

如果我dim一个数组要说5个元素,如果我去添加第6个元素,它应该不会失败吗?我以为这曾经需要redim。在.NET 2.0中,我有一个长度为3的字符数组。当我从db填充它时,一条记录中有4个字符,它成功地将所有4个字符添加到数组中?

2 个答案:

答案 0 :(得分: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. 

答案 1 :(得分:1)

只是添加到当前答案,以防这是问题所在。在VB.NET中,您使用上限声明数组,而不是所需的长度。

例如:

Dim arr(3) as Integer  'length of 4

这个数组有4个元素,0-3。的长度为3,如果你在C#中这样说的话会是这样的:

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

我不知道这是否是您的问题,但以防万一