在VB.net中使用这两种创建数组的方法有什么区别,它们的工作方式是否相似?哪一个更喜欢和在什么条件下?
第一种方法:
Dim testarray(2) as String
testarray(0) = "string1"
testarray(1) = "string2"
testarray(2) = "string3"
第二种方法:
System.Array类提供名为CreateInstance的共享方法,该方法创建System.Array类的新实例。
Dim testarray as Array = Array.CreateInstance(GetType(String),2)
testarray.SetValue(CStr("Test string"),0)
由于
答案 0 :(得分:3)
第一个返回string
数组作为string
的数组。第二个返回一个string
数组作为非泛型Array
类对象。
使用第二个,您将失去编译时类型安全性,您可以将代码暴露给装箱/拆箱操作。这是因为SetValue
方法需要object
而不是正确的(示例中为string
)类型实例。
你绝对应该使用第一个。
答案 1 :(得分:1)
我用
Dim ta() As String = New String() {"1", "2", "3"}