找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 654|回复: 8

Viviwei VB.NET系列教程(二)

[复制链接]
发表于 2009-10-29 23:56:27 | 显示全部楼层 |阅读模式 IP:江苏扬州
第二节 数组
一,数组概述
何谓数组?首先,我们要从组看起.一组,就是一行或者一列,数组,也就是说有数行或数列,而从微软的解释上来看,数组是属于立体概念的.也就是说,数组是像动画片一样,有一维动画,二维动画,还有现在的三维动画.我想在维数上面大家在看动画片的时候就能有深刻的理解了.这个是算比较通俗的理解了.
下面咱们再来看看程序上对数组的概括: 数组(Arrays),可以用相同名字引用一系列变量,并用数字(索引)来识别它们.由此可见数组是有编号可言的,这就像一个班集体一样,每个人都有自己的学号..
总体来说,数组就是一组带有索引的容器,相当于一间教室的位置,而上面已经编好了座位号.
二, 数组的声明
在vb.net中,所有的数组都是以“0”为起始长度的,也就是说,所有数组的起点都是0,位置0也代表一个容器.如果一个数组定义为Dim x(10) As Single,那么它是可以存储10个Single的变量的.这样的数组含有10个元素,编号为0到9,使我们在处理数组的长度和编号的情况与C、C++、C#和Java具有一致性,如下例:
Dim Max As Integer
Max=10
Dim x(Max)
For j=0 to Max-1
x(j)=j
Next j
从上面例子可以看出,数组的最后一个元素的编号,总是数组的长度减1。
那么怎样定义一个多维数组呢? 如下例:
二维数组
Dim x(m,z) As String
‘那么它的容器是怎么分配呢?
Dim I As Integer = 0
Dim j As Integer = 0
For I =0 to m-1
For j = 0 to z-1
X(I,j)=I+j ‘我们可以试试计算有多少个这样的位数,结果为m*z的积
Next
Next
上面的例子可以充分的看出数组的立体性,以及可延伸性,当然如果你有需求,还可以定义三维的数组,四维的数组,在理论上来讲,是可以无限制的延伸下去.当然,前提条件是你有需求.例如我们定义一个三维数组:Dim x(5,6,8) as string 等等…
三,数组长度的控制及动态数组
此外,vb.net还引进了一个数组列表(ArrayList)对象来代替原来的集合(Collection)对象,集合对象的长度计数总是从1开始的,而且在需要的时候,数组列表的长度可以是不定的。数组列表的基本的方法和集合一样,只不过它还具有一些新的功能方法。
例如:
Dim Arl As ArrayList '构建一个数组列表
For j=0 to 10
Arl.Add(j)
Next j
所有的数组变量都有一个长度属性,这样就可以得知这个数组有多大:
Dim Z(20) As Single
Dim j As Integer
For j=0 to z.Length-1
Z(j)=j
Next j
在vb.net中所有的数组都是动态的,可以在任何时候重新定义数组的长度,然而,在vb.net中已经没有ReDim Preserve表述了,可以使用New关键字来对任何一个数组进行引用,并且重新定位:
'在类模块级声明
Dim X() As Single
'重新定位
X=New Single(20){}
注意:数组类型后面的大括号不要忘记写。
和集合对象一样,数组列表含有一个“Count”属性和一个“Item”属性,允许使用“index”来访问数组列表中的元素。而且,和集合对象一样,这个属性也可以省略,感觉就像操作数组一样:
For i=0 to ar.Count-1
textbox1.text=(ar.Item(i))
textbox2.text= (ar(i))
Next I
下表为数组列表的一些方法:
Clear 清空数组列表的内容
Contains(object) 如果数组列表含有该对象则返回true
CopyTo(array) 把一个数组列表拷贝到一个一维的数组中去
IndexOf(object) 返回第一个元素的值
Insert(index,object) 在指定的位置插入一个元素
Remove(object) 把一个元素从列表中删除
RemoveAt(index) 把一个指定位置的元素从列表中删除
Sort 对列表进行排序
注意:一个数组中的所有元素具有相同的数据类型。当然,当数据类型为“object”时,各个元素能够包含不同种类的数据(对象、字符串、数值等)。可以声明任何基本数据类型的数组,包括用户自定义的类型和对象变量。此外,数组在vb.net中已经是完全的动态的了。
Viviwei编写
版权由Viviwei所有
交流QICQ:85474440
E-Mail:wei01062003@yahoo.com.cn
下面是该文件的Word文档.单击开始下载....

附件: 只有本站会员才能下载或查看附件,请您 登录 或 注册
发表于 2009-10-29 23:56:28 | 显示全部楼层 IP:江苏扬州
For j=0 to Max-1 '这个是循环吧?才讲的数组怎么又来循环了?j=0 to max-1是什么意思?max为什么要-1?不能直接写成j=0 to 9 吗?

当然可以。。

具体解释一下:
Dim Max As Integer '定义一个Integer变量Max
Max=10 '赋值10
Dim x(Max) '定义一个名为x的数组,包含的元素数量为10个,注意,数组元素为空。。相当于定义了10个内存虚拟位置。。
For j=0 to Max-1 '设置一个循环,为数组赋值Max-1是为下面赋值用。
x(j)=j '由于数组的赋值是从0开始的,所以10个位置赋值应该为x(0),x(1),x(2)...x(9)
Next j 'Next j 是循环的方法,表示上述循环条件成立 j则加1 ,你可以理解为j++

所以最终的结果,我们可以直接写出来
x(0)=0
x(1)=1
x(2)=2
x(3)=3
.....
x(9)=9
回复

使用道具 举报

发表于 2009-10-29 23:56:29 | 显示全部楼层 IP:江苏扬州
辛苦了. 收藏..
回复

使用道具 举报

发表于 2009-10-29 23:56:30 | 显示全部楼层 IP:江苏扬州
拿了,谢谢分享。
回复

使用道具 举报

发表于 2009-10-29 23:56:31 | 显示全部楼层 IP:江苏扬州
Viviwei你好,我是个新手,我想问下这真是基础教程吗?我怎么感觉还是看的云里雾里啊.
有些问题请教下:
Dim Max As Integer '定义一个max的整型变量
Max=10 '给max赋直10
Dim x(Max) '定义一个x数组,其长度为max,也就是10
For j=0 to Max-1 '这个是循环吧?才讲的数组怎么又来循环了?j=0 to max-1是什么意思?max为什么要-1?不能直接
写成j=0 to 9 吗?
x(j)=j 'x(j)=j x(j)里面的这个j的直是多少? 被赋予的j的直又是多少啊?
Next j '这个也不明白
回复

使用道具 举报

发表于 2009-10-29 23:56:32 | 显示全部楼层 IP:江苏扬州
Max=10 '赋值10
Dim x(Max) '定义一个名为x的数组,包含的元素数量为10个,注意,数组元素为空。。相当于定义了10个内存虚拟位置。。

vb.net 定义的数组是有区别的.
x(max)应该包含的元素数量为11个.即 0,1,2,.....10
难道我学的那本教程有问题吗?
回复

使用道具 举报

发表于 2010-1-10 13:05:03 | 显示全部楼层 IP:澳大利亚
感人肺腑!感人落泪.i服了u!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 11:26 , Processed in 0.257840 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表