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 个姓名。

固定大小数组

固定大小的数组包含固定数量的元素。这意味着您必须在定义数组时定义其将包含的元素数量。假设您需要一个数组来仅保存 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) 点击工具栏上的“开始”按钮运行代码。您将看到以下窗口:

检索数组的内容

我们使用了以下代码:

检索数组的内容

代码说明:

  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) 单击工具栏上的“开始”按钮运行代码。您将看到以下窗口:

向数组添加新元素

我们使用了以下代码:

向数组添加新元素

代码说明:

  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 循环并跳转到代码的下一部分。
  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 循环并跳转到代码的下一部分。
  15. 暂停控制台窗口等待用户采取行动来关闭它。
  16. 子程序结束。
  17. 模块结束。

删除数组

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

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

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

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

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 函数

代码说明:

  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) 单击工具栏上的“开始”按钮运行代码:

连接函数

我们使用了以下代码:

连接函数

代码说明:

  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. 结束模块。

总结

  • 数组用于存储属于同一 数据类型.
  • 动态数组允许用户通过添加更多元素来调整其大小。您可以使用命令 ReDim 用于向现有数组添加元素
  • 固定大小数组的大小不能改变。
  • 数组元素使用索引进行排序,第一个元素位于索引 0,最后一个元素位于索引 n-1,其中 n 是数组元素的总数。
  • 可以使用擦除功能删除阵列
  • 您可以分别使用 split 和 join 函数来拆分或连接字符串数组