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) 点击工具栏上的“开始”按钮运行代码。您将看到以下窗口:
我们使用了以下代码:
代码说明:
- 创建一个名为 Module1 的模块。
- 创建主要子程序。
- 创建一个名为 students 的数组来存储字符串元素。该数组将存储从索引 0 到索引 2 的元素,这意味着它总共有 3 个元素。
- 添加名称 John 作为数组的第一个元素,即将 John 存储在索引 0 处。
- 添加名称 Alice 作为数组的第二个元素,即将 Alice 存储在索引 1 处。
- 添加名称 Antony 作为数组的第三个元素,即将 Antony 存储在索引 2 处。
- 在控制台上打印一些文本和存储在 students 数组索引 0 处的元素。students(0) 帮助我们访问名为 students 的数组索引 0 处的元素。
- 在控制台上打印一些文本和存储在 students 数组索引 1 处的元素。students(1) 帮助我们访问名为 students 的数组索引 1 处的元素。
- 在控制台上打印一些文本和存储在 students 数组索引 2 处的元素。students(2) 帮助我们访问名为 students 的数组索引 2 处的元素。
- 暂停控制台窗口等待或用户采取行动将其关闭。
- 子程序结束。
- 模块结束。
向数组添加新元素
仅当您拥有动态数组时才会发生这种情况。如果您声明了一个固定大小的维数组,并且它充满了数组元素,则无法向其中添加新元素。以下示例演示了如何向动态数组添加新元素:
步骤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) 单击工具栏上的“开始”按钮运行代码。您将看到以下窗口:
我们使用了以下代码:
代码说明:
- 创建一个名为 Module1 的模块。
- 创建主要子程序。
- 创建一个名为 nums 的数组来保存整数值。
- 指定上述数组将存储两个元素,即索引 0 和 1,同时留出调整大小的空间。
- 将元素 12 添加到数组 nums 的索引 0。
- 将元素 23 添加到数组 nums 的索引 1。
- 使用 for 循环创建变量 x,帮助我们从数组 nums 的第一个元素到最后一个元素进行迭代。请注意,数组现在有两个元素,12 和 23。
- 在控制台上打印一些文本和数组的元素。
- 结束 for 循环并跳转到代码的下一部分。
- 调整数组 nums 的大小以允许索引 0 到 2 处的元素。现在它将能够存储 3 个元素而不是 2 个。Preserve 关键字可帮助我们维护数组的当前元素,即 12 和 23。
- 将元素 35 添加到数组的索引 2。该数组现在有三个元素,分别是 12、23 和 35。
- 使用 for 循环创建变量 x,帮助我们从数组 nums 的第一个元素到最后一个元素进行迭代。请注意,数组现在有三个元素,分别是 12、23 和 35。
- 在控制台上打印一些文本和数组的元素。
- 结束 for 循环并跳转到代码的下一部分。
- 暂停控制台窗口等待用户采取行动来关闭它。
- 子程序结束。
- 模块结束。
删除数组
建议您在使用完数组后将其清除,尤其是在处理动态数组时。这将帮助您释放一些内存空间。
要删除数组,只需调用 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) 点击工具栏上的“开始”按钮运行代码。您将看到以下窗口:
我们使用了以下代码:
代码说明:
- 创建一个名为 Module1 的模块。
- 启动主要子程序。
- 创建一个名为 myarray 的数组来保存字符串值。
- 创建一个名为 guru99 的字符串变量。
- 创建一个名为 x 的整数变量。
- 将字符串分配给变量 guru99。
- 将上面的字符串拆分成几部分,并将它们放在名为 myarray 的数组中。“,” (逗号) 是分隔符,因此 split 函数将使用它来标记字符串各部分的结尾。
- 使用变量 x 遍历名为 myarray 的数组。LBound 和 UBound 分别指定数组的下限和上限。
- 在控制台上打印名为 myarray 的数组的值。
- 结束 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) 单击工具栏上的“开始”按钮运行代码:
我们使用了以下代码:
代码说明:
- 创建一个名为 Module1 的模块。
- 创建主要子程序。
- 创建一个名为 students 的数组来保存 3 个字符串值。
- 将名称 John 添加到数组的索引 0。
- 将名称 Alice 添加到数组的索引 1。
- 将名称 Antony 添加到数组的索引 2。
- 定义一个名为 classmates 的字符串数据类型的变量。
- 将数组 students 的所有元素连接起来,并用 ,(逗号)分隔它们。此操作的结果将分配给变量 classmates。
- 在控制台上打印 classmates 变量的内容。
- 暂停控制台窗口等待用户采取行动将其关闭。
- 结束主要子程序。
- 结束模块。
总结
- 数组用于存储属于同一 数据类型.
- 动态数组允许用户通过添加更多元素来调整其大小。您可以使用命令 ReDim 用于向现有数组添加元素
- 固定大小数组的大小不能改变。
- 数组元素使用索引进行排序,第一个元素位于索引 0,最后一个元素位于索引 n-1,其中 n 是数组元素的总数。
- 可以使用擦除功能删除阵列
- 您可以分别使用 split 和 join 函数来拆分或连接字符串数组