VB.Net 数组:字符串、动态(附示例)

⚡ 智能摘要

VB.Net 数组使用从零开始的索引,在一个变量名下存储多个相同数据类型的值。它支持固定大小数组和动态数组,并且 Split 和 Join 函数可以在字符串和数组之间进行转换。

  • 🔘 数组基础知识: 数组存储一种数据类型的有序元素,第一个元素的索引为 0,最后一个元素的索引为 n - 1。
  • ☑️ 宣言: Dim 语句声明一个数组,例如 Dim myData() As Integer,元素可以在花括号内初始化。
  • 固定值与动态值: 固定大小的数组包含固定数量的元素,而动态数组使用 ReDim 和 ReDim Preserve 语句进行增长。
  • 🧪 访问和删除: 元素通过其索引读取,Erase 语句删除数组以释放内存。
  • 🛠️ 拆分和合并: Split 函数将字符串拆分成数组,Join 函数将数组元素合并成一个字符串。
  • 🤖 人工智能辅助: GitHub Copilot 和 IntelliCode 在 Visual Studio 2026 中,根据纯英文提示生成数组声明、循环以及 Split 或 Join 调用。

VB.Net 数组

什么是数组?

数组是一种用于存储相同类型元素的数据结构。 数据类型数组元素按顺序排列,第一个元素的索引为 0,最后一个元素的索引为 n-1,其中 n 是数组中元素的总数。

如何声明和初始化数组

In VB.Net,数组使用 Dim 语句声明。例如:

Dim myData() As Integer

在上面的例子中,我们定义了一个名为 myData 的数组,它应该保存整数数据类型的元素。以下示例演示了如何声明一个数组来保存字符串元素:

Dim myData(10) As String

我们定义了一个名为 myData 的数组来保存 10 个字符串。

我们可以在声明数组时初始化数组。例如:

Dim myData() As Integer = {11, 12, 22, 7, 47, 32}

我们声明了数组 myData 并向其中添加了 6 个整数元素。对于字符串的情况也可以这样做:

Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}

我们创建了一个名为 students 的数组,并向其中添加了 5 个姓名。

在 VB.Net 中,数组根据其大小在声明后是否可以改变分为两类。第一类是固定大小数组。

固定大小数组

固定大小的数组包含固定数量的元素。这意味着您必须在定义数组时定义其将包含的元素数量。假设您需要一个数组来仅保存 3 个学生姓名。您可以按如下方式定义和初始化该数组:

Dim students(0 to 2) As String 
      
students(0) = "John"
students (1) = "Alice"
students (2) = "Antony"

我们首先声明一个名为 students 的字符串数组。0 to 2 声明该数组将存储从其索引 0 到索引 2 的元素,这意味着我们总共将有 3 个元素。

要将元素添加到数组中,我们使用了数组名称并指定了元素的存储索引。例如,名称 John 将存储在数组的索引 0 处,这意味着它将构成数组的第一个元素。Antony 将是数组的最后一个元素。

当元素数量事先未知时,动态数组就成为更好的选择。

动态数组

这是一个可以容纳任意数量元素的数组。数组大小可以随时增长。这意味着您可以随时向数组添加新元素。为了演示这一点,让我们首先定义一个整数数组:

Dim nums() As Integer

我们定义了一个名为 nums 的整数数组。现在您需要向该数组添加两个元素,同时留出调整大小的空间。您需要使用 ReDim 语句,如下所示:

ReDim nums(1)
nums(0) = 12
nums(1) = 23

我们的数组现在在索引 0 和 1 处有两个元素。我们需要在索引 3 处向其添加第三个元素,同时保留它已有的两个元素。我们可以按如下方式执行:

ReDim Preserve nums(2)
nums(2) = 35

该数组现在有三个元素。

数组填充完毕后,下一步就是读取数组中存储的值。

检索数组的内容

检索意味着访问数组元素。要访问数组元素,我们使用其索引。让我们使用一个例子来演示这一点。

步骤 1)首先创建一个新的控制台应用程序。

步骤 2)将以下代码添加到应用程序中:

Module Module1
    Sub Main()

       Dim students(0 to 2) As String 

        students(0) = "John"

        students(1) = "Alice"

        students(2) = "Antony"

        Console.WriteLine("First student is {0} ", students(0))

        Console.WriteLine("Second student is {0} ", students(1))

        Console.WriteLine("Third student is {0} ", students(2))


        Console.ReadKey()

    End Sub

End Module

步骤 3)点击工具栏中的“开始”按钮运行代码。您将看到以下窗口:

检索数组的内容

我们使用了以下代码:

检索数组的内容

的解释 Code:

  1. 创建一个名为 Module1 的模块。
  2. 创建主要子程序。
  3. 创建一个名为 students 的数组来存储字符串元素。该数组将存储从索引 0 到索引 2 的元素,这意味着它总共有 3 个元素。
  4. 添加名称 John 作为数组的第一个元素,即将 John 存储在索引 0 处。
  5. 添加名称 Alice 作为数组的第二个元素,即将 Alice 存储在索引 1 处。
  6. 添加名称 Antony 作为数组的第三个元素,即将 Antony 存储在索引 2 处。
  7. 在控制台上打印一些文本和存储在 students 数组索引 0 处的元素。students(0) 帮助我们访问名为 students 的数组索引 0 处的元素。
  8. 在控制台上打印一些文本和存储在 students 数组索引 1 处的元素。students(1) 帮助我们访问名为 students 的数组索引 1 处的元素。
  9. 在控制台上打印一些文本和存储在 students 数组索引 2 处的元素。students(2) 帮助我们访问名为 students 的数组索引 2 处的元素。
  10. 暂停控制台窗口等待用户采取行动将其关闭。
  11. 子程序结束。
  12. 模块结束。

向数组添加新元素

仅当您拥有动态数组时才会发生这种情况。如果您声明了一个固定大小的维数组,并且它充满了数组元素,则无法向其中添加新元素。以下示例演示了如何向动态数组添加新元素:

步骤 1)首先创建一个新的控制台应用程序。

步骤 2)将以下代码添加到应用程序中:

Module Module1
    Sub Main()

        Dim nums() As Integer

        ReDim nums(1)
        nums(0) = 12
        nums(1) = 23

        For x = 0 To nums.Length - 1
            Console.WriteLine("Initial array element: {0}", nums(x))
        Next

        ReDim Preserve nums(2)
        nums(2) = 35

        For x = 0 To nums.Length - 1
            Console.WriteLine("Final array element: {0}", nums(x))
        Next

        Console.ReadKey()
    End Sub

End Module

步骤 3)点击工具栏中的“开始”按钮运行代码。您应该会看到以下窗口:

向数组添加新元素

我们使用了以下代码:

向数组添加新元素

的解释 Code:

  1. 创建一个名为 Module1 的模块。
  2. 创建主要子程序。
  3. 创建一个名为 nums 的数组来保存整数值。
  4. 指定上述数组将存储两个元素,即索引 0 和 1,同时留出调整大小的空间。
  5. 将元素 12 添加到数组 nums 的索引 0。
  6. 将元素 23 添加到数组 nums 的索引 1。
  7. 使用 for 循环创建变量 x,帮助我们从数组 nums 的第一个元素到最后一个元素进行迭代。请注意,数组现在有两个元素,12 和 23。
  8. 在控制台上打印一些文本和数组的元素。
  9. 结束 for 循环并跳转ping 进入代码的下一部分。
  10. 调整数组 nums 的大小以允许索引 0 到 2 处的元素。现在它将能够存储 3 个元素而不是 2 个。Preserve 关键字可帮助我们维护数组的当前元素,即 12 和 23。
  11. 将元素 35 添加到数组的索引 2。该数组现在有三个元素,分别是 12、23 和 35。
  12. 使用 for 循环创建变量 x,帮助我们从数组 nums 的第一个元素到最后一个元素进行迭代。请注意,数组现在有三个元素,分别是 12、23 和 35。
  13. 在控制台上打印一些文本和数组的元素。
  14. 结束 for 循环并跳转ping 进入代码的下一部分。
  15. 暂停控制台窗口等待用户采取行动来关闭它。
  16. 子程序结束。
  17. 模块结束。

删除数组

建议您在使用完数组后将其清除,尤其是在处理动态数组时。这将帮助您释放一些内存空间。

要删除数组,只需调用 Erase 语句,后跟数组名称。例如:

Dim nums(1) As Integer
        nums(0) = 12
        nums(1) = 23
Erase nums

我们声明了一个名为 nums 的整数数组,并向其中添加了两个元素。Erase nums 语句将删除该数组。

除了存储值之外,VB.Net 还提供了用于在字符串和数组之间进行转换的内置函数。其中第一个就是 Split 函数。

Split 函数

Visual Basic .NET 提供的 split 函数可以帮助我们将字符串拆分成多个部分,并将它们保存在一个数组中。以下示例演示了如何使用此函数:

步骤 1)创建一个新的控制台应用程序。

步骤 2)将以下代码添加到应用程序中:

Module Module1
    Sub Main()

        Dim myarray() As String
        Dim guru99 As String
        Dim x As Integer

        guru99 = "Welcome, to, Guru99"
        myarray = Split(guru99, ", ")

        For x = LBound(myarray) To UBound(myarray)

            Console.WriteLine(myarray(x))

        Next

        Console.ReadKey()
    End Sub

End Module

步骤 3)点击工具栏中的“开始”按钮运行代码。您应该会看到以下窗口:

Split 函数

我们使用了以下代码:

Split 函数

的解释 Code:

  1. 创建一个名为 Module1 的模块。
  2. 启动主要子程序。
  3. 创建一个名为 myarray 的数组来保存字符串值。
  4. 创建一个名为 guru99 的字符串变量。
  5. 创建一个名为 x 的整数变量。
  6. 将字符串分配给变量 guru99。
  7. 将上面的字符串拆分成几部分,并将它们放在名为 myarray 的数组中。“,” (逗号) 是分隔符,因此 split 函数将使用它来标记字符串各部分的结尾。
  8. 使用变量 x 遍历名为 myarray 的数组。LBound 和 UBound 分别指定数组的下限和上限。
  9. 在控制台上打印名为 myarray 的数组的值。
  10. 结束 for 循环。

连接函数

join 函数帮助我们将多个数组合并为一个字符串。以下示例演示了这一点:

步骤 1)首先创建一个新的控制台应用程序。

步骤 2)将以下代码添加到应用程序中:

Module Module1
    Sub Main()

        Dim students(0 To 2) As String

        students(0) = "John"

        students(1) = "Alice"

        students(2) = "Antony"

        Dim classmates As String


        classmates = Join(students, ", ")

        Console.WriteLine(classmates)

        Console.ReadKey()
    End Sub

End Module

步骤 3)单击工具栏上的“开始”按钮运行代码:

连接函数

我们使用了以下代码:

连接函数

的解释 Code:

  1. 创建一个名为 Module1 的模块。
  2. 创建主要子程序。
  3. 创建一个名为 students 的数组来保存 3 个字符串值。
  4. 将名称 John 添加到数组的索引 0。
  5. 将名称 Alice 添加到数组的索引 1。
  6. 将名称 Antony 添加到数组的索引 2。
  7. 定义一个名为 classmates 的字符串数据类型的变量。
  8. 将数组 students 中的所有元素连接起来,并用逗号 (,) 分隔。此操作的结果将赋值给变量 classmates。
  9. 在控制台上打印 classmates 变量的内容。
  10. 暂停控制台窗口等待用户采取行动将其关闭。
  11. 结束主要子程序。
  12. 结束模块。

常见问题

是的。每个 VB.Net 数组都从索引 0 开始,所以第一个元素位于索引 0,最后一个元素位于索引 n 减 1。下限始终为 0,且不能更改。

使用 Length 属性,它返回元素总数,例如 nums.Length。UBound 函数返回最大索引,由于数组从索引 0 开始,因此 UBound 等于 Length 减 1。

调用共享的 `Array.Sort` 方法并传入数组,例如 `Array.Sort(nums)`。它会将数组元素按升序重新排序。请使用 `Array` 类型。Reverse 然后按降序排列相同的元素。

多维数组(或矩形数组)使用括号内的逗号将数据按行和列存储,例如 `Dim grid(2, 3) As Integer`。每一行包含相同数量的元素。

交错数组是一种元素本身也是数组的数组,因此每一行可以包含不同数量的元素。它用两组括号声明,例如 Dim data()() As Integer。

数组一旦创建,其大小就固定不变,需要使用 ReDim 方法才能调整大小。而 List(Of T) 类型可以自动增长和缩小,并提供 Add、Remove 和 Sort 方法,因此在元素数量频繁变化时更加方便。

是的。GitHub Copilot 会将纯英文注释转换为完整的数组代码,包括 Dim 声明、ReDim 调整大小以及 Split 或 Join 调用。在接受任何建议之前,请务必检查索引和数据类型是否正确。

是的。 Visual Studio中 2026 年,GitHub Copilot 与 Intelli 配对Code 自动完成数组循环,在您键入时标记超出范围的索引,并建议正确的数组方法,从而在运行程序之前减少运行时错误。

总结一下这篇文章: