VB.Net - 数组

VB.Net - 数组

❮ 上一节

下一节 ❯

VB.Net - 数组

数组存储相同类型元素的固定大小的顺序集合。 数组用于存储数据的集合,但将数组视为相同类型的变量的集合通常更有用。

所有数组都由连续的内存位置组成。 最低地址对应于第一个元素,最高地址对应于最后一个元素。

在 VB.Net 中创建数组

要在 VB.Net 中声明数组,请使用 Dim 语句。 例如,

Dim intData(30) ' 包含 31 个元素的数组

Dim strData(20) As String ' 21 个字符串的数组

Dim twoDarray(10, 20) As Integer '二维整数数组

Dim ranges(10, 100) '二维数组

您还可以在声明数组时初始化数组元素。 例如,

Dim intData() As Integer = {12, 16, 20, 24, 28, 32}

Dim names() As String = {"Karthik", "Sandhya", _

"Shivangi", "Ashwitha", "Somnath"}

Dim miscData() As Object = {"Hello World", 12d, 16ui, "A"c}

可以使用数组的索引来存储和访问数组中的元素。 下面的程序演示了这一点 −

Module arrayApl

Sub Main()

Dim n(10) As Integer ' n is an array of 11 integers '

Dim i, j As Integer

' 初始化数组 n 的元素 '

For i = 0 To 10

n(i) = i + 100 ' set element at location i to i + 100

Next i

' 输出每个数组元素的值 '

For j = 0 To 10

Console.WriteLine("Element({0}) = {1}", j, n(j))

Next j

Console.ReadKey()

End Sub

End Module

当上面的代码被编译并执行时,会产生以下结果 −

Element(0) = 100

Element(1) = 101

Element(2) = 102

Element(3) = 103

Element(4) = 104

Element(5) = 105

Element(6) = 106

Element(7) = 107

Element(8) = 108

Element(9) = 109

Element(10) = 110

动态数组

动态数组是可以根据程序的需要确定尺寸和重新确定尺寸的数组。 您可以使用 ReDim 语句声明动态数组。

ReDim 语句的语法 −

ReDim [Preserve] arrayname(subscripts)

其中,

当您调整现有数组的大小时,Preserve 关键字有助于保留现有数组中的数据。

arrayname 是要重新维度的数组的名称。

subscripts指定新维度。

Module arrayApl

Sub Main()

Dim marks() As Integer

ReDim marks(2)

marks(0) = 85

marks(1) = 75

marks(2) = 90

ReDim Preserve marks(10)

marks(3) = 80

marks(4) = 76

marks(5) = 92

marks(6) = 99

marks(7) = 79

marks(8) = 75

For i = 0 To 10

Console.WriteLine(i & vbTab & marks(i))

Next i

Console.ReadKey()

End Sub

End Module

当上面的代码被编译并执行时,会产生以下结果 −

0 85

1 75

2 90

3 80

4 76

5 92

6 99

7 79

8 75

9 0

10 0

多维数组

VB.Net 允许多维数组。 多维数组也称为矩形数组。

您可以将二维字符串数组声明为 −

Dim twoDStringArray(10, 20) As String

或者,整数变量的 3 维数组 −

Dim threeDIntArray(10, 10, 10) As Integer

以下程序演示了创建和使用二维数组 −

Module arrayApl

Sub Main()

' 5 行 2 列的数组

Dim a(,) As Integer = {{0, 0}, {1, 2}, {2, 4}, {3, 6}, {4, 8}}

Dim i, j As Integer

' 输出每个数组元素的值 '

For i = 0 To 4

For j = 0 To 1

Console.WriteLine("a[{0},{1}] = {2}", i, j, a(i, j))

Next j

Next i

Console.ReadKey()

End Sub

End Module

当上面的代码被编译并执行时,会产生以下结果 −

a[0,0]: 0

a[0,1]: 0

a[1,0]: 1

a[1,1]: 2

a[2,0]: 2

a[2,1]: 4

a[3,0]: 3

a[3,1]: 6

a[4,0]: 4

a[4,1]: 8

交错数组(也称为锯齿状数组)

交错数组是数组的数组。 以下代码显示声明一个名为 scores 的整数交错数组 −

Dim scores As Integer()() = New Integer(5)(){}

以下示例说明了使用交错数组 −

Module arrayApl

Sub Main()

'由 5 个整数数组组成的锯齿状数组

Dim a As Integer()() = New Integer(4)() {}

a(0) = New Integer() {0, 0}

a(1) = New Integer() {1, 2}

a(2) = New Integer() {2, 4}

a(3) = New Integer() {3, 6}

a(4) = New Integer() {4, 8}

Dim i, j As Integer

' 输出每个数组元素的值

For i = 0 To 4

For j = 0 To 1

Console.WriteLine("a[{0},{1}] = {2}", i, j, a(i)(j))

Next j

Next i

Console.ReadKey()

End Sub

End Module

当上面的代码被编译并执行时,会产生以下结果 −

a[0][0]: 0

a[0][1]: 0

a[1][0]: 1

a[1][1]: 2

a[2][0]: 2

a[2][1]: 4

a[3][0]: 3

a[3][1]: 6

a[4][0]: 4

a[4][1]: 8

Array 数组类

Array 数组类是 VB.Net 中所有数组的基类。 它在系统命名空间中定义。 Array 类提供了各种用于处理数组的属性和方法。

Array 数组类的属性

下表提供了 Array 类的一些最常用的属性 −

Sr.No

属性名称和描述

1

IsFixedSize

获取一个值,该值指示数组是否具有固定大小。

2

IsReadOnly

获取一个值,该值指示数组是否为只读。

3

Length

获取一个 32 位整数,表示数组所有维度中的元素总数。

4

LongLength

获取一个 64 位整数,表示数组所有维度中的元素总数。

5

Rank

获取数组的排名(维数)。

数组类的方法

下表提供了 Array 类的一些最常用的方法 −

Sr.No

方法名称 & 描述

1

Public Shared Sub Clear (array As Array, index As Integer, length As Integer)

根据元素类型,将数组中的一系列元素设置为零、false 或 null。

2

Public Shared Sub Copy (sourceArray As Array, destinationArray As Array, length As Integer)

从第一个元素开始复制数组中的一系列元素,并将它们粘贴到从第一个元素开始的另一个数组中。 长度指定为 32 位整数。

3

Public Sub CopyTo (array As Array, index As Integer)

将当前一维数组的所有元素复制到从指定目标数组索引开始的指定一维数组。 索引指定为 32 位整数。

4

Public Function GetLength (dimension As Integer) As Integer

获取一个 32 位整数,表示 Array 指定维度中的元素数量。

5

Public Function GetLongLength (dimension As Integer) As Long

获取一个 64 位整数,表示 Array 指定维度中的元素数量。

6

Public Function GetLowerBound (dimension As Integer) As Integer

获取数组中指定维度的下界。

7

Public Function GetType As Type

获取当前实例的类型(继承自Object)。

8

Public Function GetUpperBound (dimension As Integer) As Integer

获取数组中指定维度的上限。

9

Public Function GetValue (index As Integer) As Object

获取一维数组中指定位置的值。 索引指定为 32 位整数。

10

Public Shared Function IndexOf (array As Array,value As Object) As Integer

搜索指定对象并返回整个一维数组中第一次出现的索引。

11

Public Shared Sub Reverse (array As Array)

反转整个一维数组中元素的顺序。

12

Public Sub SetValue (value As Object, index As Integer)

为一维数组中指定位置的元素设置一个值。 索引指定为 32 位整数。

13

Public Shared Sub Sort (array As Array)

使用数组每个元素的 IComparable 实现对整个一维数组中的元素进行排序。

14

Public Overridable Function ToString As String

返回表示当前对象的字符串(继承自 Object)。

有关 Array 类属性和方法的完整列表,请参阅 Microsoft 文档。

示例

下面的程序演示了Array类的一些方法的使用:

Module arrayApl

Sub Main()

Dim list As Integer() = {34, 72, 13, 44, 25, 30, 10}

Dim temp As Integer() = list

Dim i As Integer

Console.Write("Original Array: ")

For Each i In list

Console.Write("{0} ", i)

Next i

Console.WriteLine()

' 反转数组

Array.Reverse(temp)

Console.Write("Reversed Array: ")

For Each i In temp

Console.Write("{0} ", i)

Next i

Console.WriteLine()

'对数组进行排序

Array.Sort(list)

Console.Write("Sorted Array: ")

For Each i In list

Console.Write("{0} ", i)

Next i

Console.WriteLine()

Console.ReadKey()

End Sub

End Module

当上面的代码被编译并执行时,会产生以下结果 −

Original Array: 34 72 13 44 25 30 10

Reversed Array: 10 30 25 44 13 72 34

Sorted Array: 10 13 25 30 34 44 72

❮ 上一节

下一节 ❯

相关推荐

干细胞的作用机制是什么?
体育外围app网站365

干细胞的作用机制是什么?

📅 10-01 👁️ 7215
小花苹果 Posy
体育外围app网站365

小花苹果 Posy

📅 10-22 👁️ 6752
钉钉怎么添加管理员权限,钉钉如何添加管理员权限?
体育外围app网站365

钉钉怎么添加管理员权限,钉钉如何添加管理员权限?

📅 07-06 👁️ 1539
qq炫舞怎么查看自己在哪个区 查找大区方式一览
365bet娱乐网站

qq炫舞怎么查看自己在哪个区 查找大区方式一览

📅 08-14 👁️ 3393
金山快盘文件夹协作功能怎么用
亚博和365是一家的吗

金山快盘文件夹协作功能怎么用

📅 10-18 👁️ 267
摩拜单车精细化管理不断升级 智能停车推荐点促进停放管理
亚博和365是一家的吗

摩拜单车精细化管理不断升级 智能停车推荐点促进停放管理

📅 06-27 👁️ 5741