我是创建数组的新手并且有一个问题。假如您正在创建一个数组,并且您不知道将在数组中的项目总数。如何使用它而不会出现空错误。请注意,我知道我可以这样添加数组:
Dim myArray("1", "2", "3", "4", "5") as string
例如,假设用户正在将名称输入文本框,我想将它们添加到数组中。我将如何做到这一点:
这就是我到目前为止所得到的并且我得到一个空错误:
Dim myArray() as string
myArray(0) = "John"
myArray(1) = "Jim"
myArray(2) = "James"
答案 0 :(得分:4)
您将获得异常,因为您尚未定义数组的长度。您可以使用ReDim来定义长度,例如:
ReDim myArray(3)
但是看起来你在编译时或运行时都不知道数组的长度,那么最好使用List或ArrayList。以下内容:
Dim list As New ArrayList
list.Add("One")
list.Add("Two")
list.Add("Three")
答案 1 :(得分:2)
您的第二个代码示例中出现崩溃,因为数组没有定义大小而没有在()
中放置值。要在定义数组后使其具有大小,请使用ReDim
在.NET中,最好使用List(of T)
而不是数组,除非你真的必须使用数组。通过这种方式,您不必担心边界,List将根据需要增长。
如果你真的需要一个数组并且在.NET 3.5中,那么你可以使用ToArray()
答案 2 :(得分:0)
像davisoa所说,你可以使用通用列表类:
Dim list as new List(of string)
list.Add("John")
list.Add("Jim")
list.Add("James")
Console.WriteLine(list(2))