vb.net 教程 1-9 数组1

引用Msdn的说法:“数组”是一组逻辑上相互关联的值

例如一所小学X年级X班的40个学生
学生1 学生2 学生3 学生4 。。。。学生40
我们可以用序号来给每个学生编号,当然在实际中,可能是一个学校,甚至一个地区的学生有个统一的编号规律。


Dim 数组(n) As 数据类型
注意:vb.net中数组的索引范围是从0开始,n结束,一共n+1个索引

例如声明一个有40个学生的数组
Dim students(39) As String

也可以这样声明一个字符串数组,然后使用ReDim来分配数组的大小:
Dim students() As String
ReDim students(39)

    Sub Main()
        Dim students() As String
        ReDim students(39)

        For i As Integer = 0 To 39
            students(i) = "姓名" & (i + 1).ToString
        Next

        Console.WriteLine(students(1))
        Console.ReadKey()
    End Sub

注意:如果数组中已经包含有值了,那么单独使用Redim会使现有值清空,如果需要保留原有值,请使用
ReDim Preserve students(39)
以下例子用来说明 ReDim Preserve:
    Sub Main()
        Dim students(1) As String
        students(0) = "张三"
        students(1) = "李四"

        ReDim Preserve students(2)
        students(2) = "王二麻子"
        Console.WriteLine("使用 Preserve:")

        For Each student In students
            Console.WriteLine(student)
        Next


        ReDim students(2)
        students(2) = "王二麻子"
        Console.WriteLine("不使用 Preserve:")
        For Each student In students
            Console.WriteLine(student)
        Next

        Console.WriteLine("结束")
        Console.ReadKey()
    End Sub

运行结果如下:

注意:1、Preserve只能调整数组最后一个维度的大小。
2、使用Preserve会影响效率。

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看 vb.net 教程 目录

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...