VB.Net 数组:字符串、动态数组及示例

什么是数组?

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

如何声明和初始化数组

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

Retrieving the Contents of an Array

我们使用了以下代码:

Retrieving the Contents of an Array

代码解释

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

Adding New Elements to an Array

我们使用了以下代码:

Adding New Elements to an Array

代码解释

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

The Split Function

我们使用了以下代码:

The Split Function

代码解释

  1. 创建一个名为 Module1 的模块。
  2. 开始主子过程。
  3. 创建一个名为 myarray 的数组来存储字符串值。
  4. 创建一个名为 guru99 的字符串变量。
  5. 创建一个名为 x 的整数变量。
  6. 将一个字符串赋值给 guru99 变量。
  7. 将上面的字符串拆分成多个部分并将其放入名为 myarray 的数组中。“,”(逗号)是分隔符,因此 split 函数将使用它来标记字符串各个部分的结束。
  8. 使用变量 x 迭代名为 myarray 的数组。LBound 和 UBound 分别指定数组的下界和上界。
  9. 将名为 myarray 的数组的值打印到控制台。
  10. 结束 for 循环并

Join 函数

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

The Join Function

我们使用了以下代码:

The Join Function

代码解释

  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 是数组元素的总数。
  • 可以使用 Erase 函数删除数组。
  • 您可以使用 split 和 join 函数分别分割或连接字符串数组。