-1

我是创建数组的新手并且有一个问题。假设您正在创建一个数组并且您不知道将在数组中的项目总数。您如何使用它而不会出现空错误。请注意,我知道我可以像这样添加数组:

  Dim myArray("1", "2", "3", "4", "5") as string  

例如,假设用户正在将名称输入到文本框中,我想将它们添加到数组中。我将如何做到这一点:

这就是我到目前为止所拥有的,我得到一个空错误:

   Dim myArray() as string

   myArray(0) = "John"
   myArray(1) = "Jim"
   myArray(2) = "James"
4

3 回答 3

4

您收到异常是因为您尚未定义数组的长度。您可以使用 ReDim 来定义长度,例如:

ReDim myArray(3)

但似乎您在编译时或运行时都不知道数组的长度,那么最好使用 List 或ArrayList。以下行的内容:

Dim list As New ArrayList
    list.Add("One")
    list.Add("Two")
    list.Add("Three")
于 2012-05-02T17:22:42.680 回答
2

您在第二个代码示例中遇到了崩溃,因为数组没有定义的大小而没有在(). 要使数组在定义后具有大小,请使用ReDim

在 .NET 中,最好使用 aList(of T)而不是数组,除非您确实必须使用数组。这样您就不必担心边界,列表会根据需要增长。

如果您真的需要一个数组并且在 .NET 3.5 中,那么您可以使用ToArray()

于 2012-05-02T17:14:42.247 回答
0

就像 davisoa 所说,您可以使用通用列表类:

Dim list as new List(of string)
list.Add("John")
list.Add("Jim")
list.Add("James")

Console.WriteLine(list(2))
于 2012-05-02T17:17:46.877 回答