信息发布软件,b2b软件,广告发布软件

标题: 浅谈VB.NET数组声明和初始化和实例教程 [打印本页]

作者: 信息发布软件    时间: 2016-12-4 15:28
标题: 浅谈VB.NET数组声明和初始化和实例教程

收获,希望本文能教会你更多东西。对数组进行操作的能力在任何编程语言中都很重要。VB.NET与其它语言相似,提供了简单的途径对数据进行分组,将它们存放到数组结构中。本文中,我们将回顾数组的声明和使用。

  数组的目的

  数组通常用于存储相似类型的值和对象。它允许对变量进行分组,并且允许使用索引进行检索。数组有上界和下界,它用于指示数组的开始索引值和结束索引值。另外,数组中的数据可以按序排列。简单的数组是一维的,当然,在VB.NET中也可以使用多维数组。还可以对数组进行循环,以确定或修改存储在数组中的某个值。

  VB.NET数组声明和VB.NET数组初始化

  有两个途径初VB.NET数组初始化:

  第一,在一条声明语句中进行声明同时初始化。

  第二,先声明数组,然后对其进行初始化。

  在一条语句中同时VB.NET数组声明和VB.NET数组初始化时,必须指定数组元素的数值类型,以及数组所包含元素的个数。VB.NET中,数组是基于0的,这也就是说,数组的索引编号从0开始,其后元素进行连续编号。必须通过指定数组的上界确定数组中元素个数。上界是指定数组中最后一个元素索引的数字。Listing A给出了整型数组的声明和初始化示例。

  对数字进行声明和初始化的另外一个途径是:在分开的两步中分别进行声明和初始化操作。如果声明了一个数组,但是在这一行没有指定其大小,则在初始化时,需要对数组中的每一个单元都指定值。初始化值封装在{}括号中,两个值之间使用逗号做为分隔符。Listing B给出了在不同的两步对数组进行声明和初始化的示例。

  VB.NET数组声明和VB.NET数组初始化一旦完成,则可以在运行时重新定义数组,从而改变其大小。可以使用ReDim声明改变数组结构中元素的个数。Listing C给出了声明、初始化和重新调整数组大小的示例。

  默认情况下,数组进行重新初始化后,原来的数值都会丢失。但是,在重新初始化时,可以使用ReDim声明和Preserve关键字保留数组的原有数值。Listing D中给出了一个这样的示例。

  有两种类型的多维数组:矩形的或锯齿形的。矩形数组中,每一维的成员向其它维扩展时,增加相同的长度。而在锯齿形数组中,每一维中的单个成员以不同长度向其它维扩展。数组的维数越多,其操作也相应越复杂。



作者: 信息发布软件    时间: 2016-12-4 15:32

经常关注我们51CTO的编程爱好者们应该会通过我们为大家推出的VB.NET专题报告,对这一语言有一个深入的了解,从而帮助我们方便的学习这一语言。今天,我们将会在这里为大家详细介绍VB.NET创建数组的相关方法,以增加大家的经验。

数组是一个对象,所以您可以使用 New (Visual Basic) 子句来创建它,并将它赋给数组变量。这可以作为数组声明的一部分,或包含在后续赋值语句中。

在数组声明语句中的VB.NET创建数组

在声明中,在变量名称及其圆括号后面添加 New 子句。下面的示例声明了一个变量,它存储元素为 Date 数据类型 (Visual Basic) 的数组,然后创建该数组,并将该数组赋给变量。

执行此语句后,变量 validDates 中的数组长度为 0。




注意

New 子句必须指定类型名称,其后跟圆括号、再跟大括号 {}。圆括号不表示对数组构造函数的调用,而是表示对象类型为数组类型。大括号提供初始化值。编译器需要大括号,即使您没有为其提供任何值。因此,New 因此,子句必须包括圆括号和大括号,即使它们为空。

在单独的赋值语句中的VB.NET创建数组

使用带有 New 子句的后续赋值语句。下面的示例声明了一个变量,它存储元素为 Integer 数据类型 (Visual Basic) 的数组,然后创建该数组,并将该数组赋给其他语句中的变量。

执行这些语句后,变量 scores 中的数组长度为 0。

- 或 -

使用 ReDim 语句 (Visual Basic) 不仅创建数组,而且初始化数组长度。

执行此语句后,变量 scores 中的数组长度为 5,所有元素均存储默认值。

以上就是我们为大家介绍的VB.NET创建数组的相关方法。



作者: 信息发布软件    时间: 2016-12-4 15:32

我们都知道在所有程序设计语言中数组都是一个非常重要的概念,数组的作用是允许程序员用同一个名称来引用多个变量,因此采用数组索引来区分这些变量。很多情况下利用数组索引来设置一个循环,这样就可以高效地处理复杂的情况,因此在很多情况下,使用数组可以缩短或者简化程序的代码。本文主要介绍VB.NET数组的使用,希望对大家的使用带来帮助。


数组中的第一个元素的下标称为下界,最后一个元素的下标称为上界,其余的元素连续地分布在上下界之间,并且数组在内存中也是用连续的区域来存储的,所以要求声明数组每维的长度不能超过Long数据类型的最大值,即264—1=263。

我们把VB.NET数组当作一个对象来处理,这就意味着数组类型是单个引用类型,数组变量包含指向构成数组元素、数组维和数组长度等数据的指针,数组之间互相赋值其实只是在相互复制指针,而且数组继承了System名字空间的Array类。

VB.NET中提供的数组类型和VB 6.0中有一些差别,我们将在下面做详细的讲解。

(1)VB.NET数组的声明

VB.NET中的数组有两种类型:定长数组和动态数组。这里先介绍定长数组的几种不同的声明方式,不同的声明方法将导致数组不同的有效范围。

◆Dim语句在模块段建立模块级数组,例如:

◆Public语句在模块的声明部分建立一个公共数组,例如:

◆Static语句声明一个过程内的局部数组,例如:

VB.NET还提供了新的数组初始化语法,只需要简单的语句就可以完成数组的声明和初始化,例如:

在VB.NET中,为了和其他语言更加易于协同操作,数组的下标均设定为0,不允许声明一个下界为1的数组,因此Option Base语句不再被VB.NET支持,而且在声明一个数组时必须用它的元素个数,而不是它的上界来初始化,例如:

以上声明的数组有三个元素,下标从0到2,如果代码企图访问下标为3的数组元素,将引起运行错误。

(2)二维数组及多维数组

除了较为简单的一维数组外,VB.NET还支持多维数组,其声明方法和一维数组没有太大的区别,例如:

以上语句声明了一个lO行,10列的二维数组。在VB.NET中,数组最多有32维,而且每一维的长度都不能够超过Long数组类型的最大值。数组总尺寸的限制是不一样的,这与所采用的操作系统以及计算机中使用的内存量有关。数组的维数将保留在System.Array.Rank属性中,每维的长度可以由System.Array.GetLengfll方法来得到。需要提醒注意的是,由于VB.NET中数组是以0为基的,如果返回来的值为9,则表示数组是10维的。当为数组继续添加维数的时候,使其扩展为多位数组,此时会使数组所需的存储空间大幅度增加,所以在使用多维数组时对这个方面也要多加考虑。

另外VB.NET还提供了Lbound()和Lbound()两个函数来返回数组的上、下界。中国自学编程网整理发布 ,www.zxbc.cn对于一维数组而言,只需要一个参数,那便是数组名。例如:

对于多位数组,也只是简单地将逗号后面的第二个参数指定为数组的第几维。例如:

如果没有指明是哪一维,系统默认为第一维。

(3)动态数组

有时在程序运行之前无法确认数组的大小,VB.NET提供了在程序运行时动态决定数组大小的功能,即动态数组。它具有灵活多变的特点,可以在任何时候根据需要随时改变数组的大小,有助于内存的管理。建立一个动态数组的详细步骤如下:

①和声明一般数组一样,可以使用前面介绍的几种声明,只是赋一个空维数组,这样就将数组声明为动态数组。典型的声明语句为:

②然后使用ReDim语句来配置数组大小。ReDim语句声明只能在过程当中使用,它是可执行语句,可以改变数组中元素的个数,但是却不可以改变数组的维数,就是说不能把一维变为二维。在ReDim语句配置数组元素个数时,数组中的内容将全部置为0。典型语句为:

③如果想改变数组大小又不想丢失原来的数据,只要在ReDim语句中包含Preserve关键字就可以,典型语句为:

对于多维数组,在使用Preserve关键字时,只能修改最后一维的大小。如果改变其他维,那么将出现运行错误。如果不清楚某维的当前大小,可以使用GetI~ength函数来获取。

(4)VB.NET数组的使用

在’VB 6.0中,可以用For Each来循环遍历一个数组。例如:

在VB.NET中可以使用For循环和数组长度来遍历一个数组。例如:

在使用数组时还要注意,不仅声明语法有变化,而且在运行时处理方式也有了很大的变化。VB.NET在堆栈中给数组分配地址空间,当向一个方法传递数组类型的参数时,使用的是引用传递而不是值传递。下面是互相传递数组引用的三个方法:

方法一在两个方向同时传递了数组引用,一般用来向调用者返回数组引用。方法二和方法三从调用者向方法的实现中传递了数组引用。方法二的参数被声明为一维数组,而在方法三中参数被声明成了-维数组。

(5)数组的高级特性

①数组的数组

在O~ect数组中还可以组装不同类型的数组。例如,以下代码中先建立两个数组,一个是Integer类型,另一个是String类型,然后再声明一个O~ect类型的数组,把前两个数组分装在其中。

上述代码中使用了student(0)和student(1)的后绑定。注意,只有在Option s~ict被关闭时,VB.NET编译器才允许使用后绑定。

②数组和集合

虽然集合通常用于操作对象,但是它也能操作数据类型。在某些条件下,其效率比数组还要高。我们可以通过以下4个方面来进行比较。

◆集合可以根据需要进行扩充,不像数组那样需预先规定大小。

◆数组只能保存声明时所定义的数据类型,但是同一个集合中可以存储不同类型的数据。

◆集合元素的修改较为麻烦,不像数组那么方便。

◆处理集合的速度较数组慢,但是在处理较小的动态条目集,使用集合是最为理想的选择。



作者: 89260881    时间: 2016-12-5 08:21
抱歉暑期太忙,都没时间上淘宝,公众号也没空做,系统已好评。其实应该打全五星的,很满意,就是传图片和编辑方面能更简化些就更好了。。。
作者: 123    时间: 2016-12-5 14:22
很快,价位也很合理,好评
作者: x201323    时间: 2016-12-5 18:06
还是挺快的。客服回答问题也非常快,没有不理人的情况,需要做什么修改也都非常快的给解决的,价格也合理。还会继续合作的,
作者: mmgg    时间: 2016-12-5 21:16
帮帮顶顶!!
作者: lalajie    时间: 2016-12-6 06:36
有竞争才有进步嘛
作者: xubaojin    时间: 2016-12-7 11:22
及时做出评价,系统默认好评!
作者: z2340868    时间: 2016-12-7 19:04
耐心技术也很牛逼好评
作者: 武器    时间: 2016-12-8 14:18
要求比较高的人,在合作的过程中客服一次又一次耐心的和我沟通,这种态度真的很让人感动,希望生意兴隆
作者: niubttt    时间: 2016-12-8 14:32
的态度。。。。。。。。。认真、负责
作者: meng00123    时间: 2016-12-9 04:29
错满意吧下次需要还会来
作者: lnzhanghao    时间: 2016-12-9 14:49
专业,及时,非常棒
作者: yerface    时间: 2016-12-10 02:27
术员的服务态度非常的好,耐心、细心的解答我的每一个问题,包括教会我一些网站后台的操作方法,有问必答,非常耐心。有这样的员工,相信你们会越做越好,赞!
作者: aluoting    时间: 2016-12-10 14:28
收到宝贝,很开心,卖家服务也很好,下次会在光临的
作者: linshihu    时间: 2016-12-13 16:49
小手一抖,钱钱到手!
作者: feiyang2006    时间: 2016-12-13 21:06
意思,出差一直没顾上。微信平台开发找你们做绝对是正确的选择。服务是值得肯定的,售后也非常到位,技术支持很强大,重点是热心.不厌其烦。不像有些玩技术的那个清高啊,那个沟通难度啊真不是一般的高。
作者: wbd902    时间: 2016-12-14 01:19
很好,定制的效果也很好。
作者: x201323    时间: 2016-12-14 08:22
,电脑这种高级程序都会处理,认真负责,超出我预料。
作者: lnzhanghao    时间: 2016-12-15 08:29
没看完~~~~~~先顶,好同志
作者: 429187535    时间: 2016-12-15 15:27
风格,质量很好,用着很方便,还会再来的
作者: 西充    时间: 2016-12-15 22:23
意,对我的帮助非常的大,很满意
作者: 发财猪    时间: 2016-12-16 02:49
真是收益匪浅
作者: a5206662    时间: 2016-12-16 20:11
帮帮顶顶!!
作者: 都敏俊系    时间: 2016-12-17 07:28
计的东西很漂亮,我很喜欢,店铺也漂亮了很多,想到不错的设计公司,店家服务好,问题解答详细好评
作者: java12005    时间: 2016-12-17 08:22
过来看看的
作者: niubt    时间: 2016-12-17 10:28
棒。从售前到售后所有工作人员都超级耐心!也非常的专业!支持!点个赞
作者: zdxhz    时间: 2016-12-17 18:09
东西从来不给评论的懒得打字。但是实在太谢谢技术部那孩子了,业界良心,给你点个赞。
作者: wangliuh11    时间: 2016-12-17 23:44
的帮助已搞定
作者: huangge    时间: 2016-12-18 19:49
很多,非常明显。售前售后的小姑娘也很有责任心,态度温和有亲和力和柔和力给我留下了不可磨灭的印象
作者: ufo50200    时间: 2016-12-19 12:11
果不错
作者: daoke    时间: 2016-12-19 13:59
的,手艺不错
作者: brt02    时间: 2016-12-20 07:18
很好,下次还会光顾,谢谢店家。
作者: aluoting    时间: 2016-12-20 11:16
的很好客服很有耐心非常满意
作者: 脱颖而出    时间: 2016-12-20 21:28
好了,容易上手,有不清楚的客服回答也很及时,功能很强大,很好用,不错,比我之前试用的那家好多了
作者: 我爱苏苏    时间: 2016-12-21 12:41
,功能也很多,一时没能全掌握,以后慢慢熟悉,好评!!!!!!客服很耐心!!!!全五分
作者: bysqb    时间: 2016-12-22 20:44
很复杂很耐心祝生意好
作者: nidalma001    时间: 2016-12-23 13:17
很强大,操作性也不错,客服响应比较快。基本上一天时间就比较熟悉了。
作者: ggt567    时间: 2016-12-23 14:54
别7号技术小哥服务很好!
作者: w8899    时间: 2016-12-24 01:37
和5号笨蛋好评
作者: yiyi2014    时间: 2016-12-24 04:44
很好,很有耐心,修改了几次,都很配合
作者: qingling520    时间: 2016-12-24 07:29
件超级实用,款式很多,能够满足建各种类型的网站的需求
作者: yiyi2014    时间: 2016-12-24 09:36
心,有耐心,很满意。服务很到位。
作者: 发财猪    时间: 2016-12-24 12:05
老板!希望长期合作!
作者: 枯干枯干    时间: 2016-12-25 04:37
抱歉暑期太忙,都没时间上淘宝,公众号也没空做,系统已好评。其实应该打全五星的,很满意,就是传图片和编辑方面能更简化些就更好了。。。
作者: anleeycn    时间: 2016-12-25 08:13
计的不错。
作者: ctbvip    时间: 2016-12-26 08:03
,你是见过最好的网络买家了
作者: q1598188    时间: 2016-12-26 11:34
棒哒,人品超好
作者: 阿拉丁    时间: 2016-12-28 14:31
业,必须要好评啊,下次还会来的,么么哒!!!!!
作者: chenzhanhua    时间: 2016-12-28 16:07
主真是没的说,帮我弄好之后,还帮我耐心解决其他问题,而且是评价之后,购物以来最好的售后不解释,谁买谁知道,万分感谢。
作者: 万能群发    时间: 2016-12-29 01:45
棒棒哒!先让他们设计一款宝贝详情,速度快不说,客服态度也好,本来不相信这些网上的东西,没想到还真特么的不错哈哈
作者: niyaoz1    时间: 2016-12-29 02:46
码,卖家发货也很快,5分好评!
作者: lalajie    时间: 2016-12-29 15:34
,做的很用心,而且技术人员也不厌其烦的耐心指导,大赞!!后台操作很简单,看看教程就会明白,加油!!下次推荐客户给你!
作者: ufo50200    时间: 2016-12-29 16:00
服务周到,快速化解问题,承诺后续保固。设计内容要花些时间去理解,资料备份及稳定性有待考验。整体好评!
作者: zzjiuzi008    时间: 2016-12-30 10:41
路过,支持一下啦
作者: xiaozhu168    时间: 2017-1-2 01:55
很好独特运行速度也很快卖家很专业
作者: ggt567    时间: 2017-1-2 05:14
不错,和卖家描述的一样,值得入手,好评
作者: jskf10    时间: 2017-1-2 05:49
,客服很有耐心,我说了很多的要求都一一的帮我改了,有需要还会再来找你们设计的




欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://www.postbbs.com/) Powered by Discuz! X3.2