如何创建一个空的一维字符串数组?
VB 在数组声明中是0索引的,所以类似的东西Dim myArray(10) as String
给你11个元素.从C语言翻译时,这是一个常见的错误.
因此,对于一个空数组,以下任何一个都可以工作:
Dim str(-1) as String ' -1 + 1 = 0, so this has 0 elements Dim str() as String = New String() { } ' implicit size, initialized to empty
Dim strEmpty(-1)As String
您创建的数组Dim s(0) As String
不是EMPTY
在VB.Net中,您在数组中使用的下标是最后一个元素的索引.VB.Net默认开始索引为0,因此你有一个已经有一个元素的数组.
你应该尝试使用System.Collections.Specialized.StringCollection
或(甚至更好)System.Collections.Generic.List(Of String)
.它们与字符串数组几乎完全相同,除非它们更适合添加和删除项目.说实话:你很少会创建一个空字符串数组而不想添加至少一个元素.
如果你真的想要一个空字符串数组,请按如下方式声明:
Dim s As String()
要么
Dim t() As String
您不必包含两次String,也不必使用New.
以下任何一种都可以工作......
Dim strings() as String = {} Dim strings as String() = {}
就像是:
Dim myArray(9) as String
会给你一个10个String引用的数组(每个引用都指向Nothing).
如果您在声明时不确定大小,可以声明一个这样的String数组:
Dim myArray() as String
然后你可以将它指向一个大小合适的字符串数组:
ReDim myArray(9) as String
如果您不知道总大小并且需要动态填充它,ZombieSheep是关于使用List的.在VB.NET中将是:
Dim myList as New List(Of String) myList.Add("foo") myList.Add("bar")
然后从该列表中获取一个数组:
myList.ToArray()
@标记
谢谢你的纠正.