-1

在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)

谢谢

4

2 回答 2

3

第一个返回一个数组string作为数组string。第二个返回一个string作为非泛型Array类对象的数组。

使用第二个,您将失去编译时类型的安全性,您可以将代码暴露给装箱/拆箱操作。那是因为SetValue方法采用object而不是正确的(string在您的示例中)类型实例。

你绝对应该使用第一个。

于 2013-09-21T10:10:24.440 回答
1

I'd use

    Dim ta() As String = New String() {"1", "2", "3"}
于 2013-09-21T13:44:11.523 回答