这两种声明数组的方法有什么区别吗


Dim a As String()
Dim b() As String

有人说a是一种字符串阵列

另一个不太清楚。它们完全等同吗?

为什么是两种方式?

我想第一种方法是说a是一个字符串数组,而不仅仅是字符串。

我不太确定Dim b((作为字符串的推理

我试了一下。结果是b是一个String((,它什么都不指向。

a是一个整数,其值为-1

我很困惑。

为什么?

在函数中,我们声明函数接受一个具有类似的数组

Protected Overrides Async Function createNormalLimitOrderMultiple(orderList As BasicSimpleOrder()) As Task

这里,BasicSimpleOrder((只是简单地告诉orderList的类型是BasicSimpreOrder((,而不是BasicSimple Order。

那么为什么Dim a As String()不能在中工作呢

在大多数情况下,您可以一视同仁,但也有一些差异。

数组大小:如果将括号放在类型后面,则不能指定数组的上限,否则将收到错误。

Dim foo As String(1) ' Compilation Error: Array bounds cannot appear in type specifiers.

属性定义:如果将括号放在属性名称之后,则无法定义数组。原因是您可以选择在特性名称定义后包含圆括号,然后在圆括号内包含参数列表。

Public Class MyClass
Public Property Property1() As String ' not an array
Public Property Property2 As String() ' this is an array
End Class

以下是有关Visual Basic.NET中属性语句的文档:https://learn.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/property-statement

相关内容

  • 没有找到相关文章

最新更新