2

以下构造之间有什么区别?为什么偏爱一个而不是另一个?

第一:

Dim byteArray(20) as Byte

第二:

Dim byteArray() as Byte = new Byte(20) {}

任何帮助,将不胜感激。

谢谢你。

编辑- 我更正了一些代码。“ReDim”应该是“Dim”。

4

5 回答 5

2

这是同一件事。

给猫剥皮的方法总是不止一种。

于 2009-01-22T02:26:19.103 回答
2

它们都在托管堆上分配 20 个字节。

他们都将标识符“byteArray”设置为指向这些字节。

带有“new”运算符(子句)的语句允许对数组元素进行初始化。


Dim byteArray() as Byte = new Byte(20) { 1, 2, 3, 4, 5, 6, ... }

顺便说一句,要分配一个没有元素的数组,请为其中一个维度指定 -1 的大小。如果您需要在不引发错误的情况下访问长度等属性,这将非常有用。

于 2009-01-22T02:42:06.217 回答
2

是的,一样。第二条语句是要避免的,很少有人会猜到它实际上创建了一个包含 21 个元素的数组。从第一个陈述中也不是那么明显......

于 2009-01-22T02:45:12.420 回答
2

两者都是一样的。

Dim byteArray(20) as Byte将创建一个包含 21 个元素的数组

Dim byteArray() as Byte = new Byte(20) {}将创建一个包含 20 个元素的数组

于 2011-04-14T03:41:45.673 回答
1

没有区别。Redim 是 vb 6 开发人员熟悉的继承语法。

于 2009-01-22T02:17:48.450 回答