-
vb.net教程之建立集合并向集合中添加项目
建立集合并向集合中添加项目(相关vb.net教程)
和窗体一样,集合是一个预定义的对象,为了建立一个集合,必须选建立一个Collection类的实例,格式为:
Dim 集合名 As New Collection()
例如:
Dim X As New Collection()
建立一个名为X的集合。
对象集合可以目执行三种主要的操作,即向集合中添加(或插入)数据项,从集合中删除数据项和查找集合中的成员,这些操作通过下面的方法来实现:
◆ Add方法:向集合中增加项目;
◆ Item方法:通过索引或分健值返回一个项目;
◆ Remove方法:通过索引或键值从集合中删除一个项目。
除上述方法外,集合对象还有一个只读属性,即Count,它返回集合中数据的个数。
用Add方法可以把一个新成员加入到集合对象。用关键字New建立了一个集合对象后,就可以用Add方法向集合中添加数据项。格式为:
Object.Add. item[, Key][,Before][,After]
Add方法带有多个参数,各参数含义如下:
(1) object:用New关键字建立的集合对象。
(2) item:加到集合中的数据项,可以是任何类型。如果要显式声明,则通常把它声明为对象(object)数据类型。这就是说,在一个集合中,可以混用多种数据类型。
(3) Key:是一个字符串表达式,它是与集合成员相关联的关键字,可以作为索引值使用,用来标识集合中一个成员。
(4) Before:是一个长整型的数值表达式,其取值范围为1到成员总数(即Count属性值)之间,用来指定插入或删除集合成员的位置,插入或删除的成员位于Before参数指定的成员之前。该参数也可以使用字符串,它与相应成员的关键字匹配。
(5) After:与Before类似,但插入或删除的成员位于After参数指定的成员之后。
在上面的参数中,Object是集合对象,必须先定义。后面4个参数中,只有Item,只有Item参数是必需的,其他三个参数均可略。
用下面的程序可以把数据项加到集合中:
Private Sub Form1_Click(ByVal sender As Object,ByVal e As System.EventArgs) Handles MyBase.Clic
Dim i As Short
Dim MyNames As New Collection()
Dim x
For i=1 to 10
MyNames.Add(Item:=”Name” & i, Key:”Key#” & i )
Next i
End Sub
该例首先声明了一个集合对象MyName,单击窗体,即可把10个数据项加到MyNames集合中。每个数据项都以“Name”开头,后面跟着一个数字。第一个数氨基同为”Naem1”,第二个数据项为“Name2”,……,最后一个数据项为“Name10”。由于在Add方法中使用了关键字参数,因而每个成员都有一个关键字,依次为Key#1、Key2#2……Key#10。此外,建立了集合后,集合中的每个成员都有一个索引值,它相当于数组中的下标,因此通常也称为下标,与数组不同,集合的下示从1开始。可以通过两种方式指定集合中的数据项,一种是下标,一种是关键字。例如,用下面的语句都可以输出前面程序建立的集合中的成员:
MsgBox(MyNames(3))
MsgBox(MyName(“Key#8”)
分别输出Name3和Name8,前一个语句通过下标访问集合成员,而后一个语句通过关键字访问集合成员。
为了输出集合中的每个成员可以使用For…Next循环,例如:
Pivate Sub Form1_Click (ByVal sender As Object,ByVal c As System.EventArgs) Handeles MyBase.Click
Dim i As Short
Dim MyNames As New Collection ()
For i=1 To 10
MyNames.Add (Item:=”Name” & i , Key:=”Key#” & i)
Next i
For i=1 to 10
Debug.WriteLine(MyNames(i))
Next
End Sub
上述程序首先把10具数据项加到集合中,然后用For…Next循环输出这10个数据项。可以看出,这种方式与数组元素的输出操作基本相同。当确切地知道集合中的成员个数时,用For…Next循环可以输出集合中的每个成员。但是,如果频繁地对集合进行增、删操作,则可能记不清集合中到底有多少成员在这种情况下,可以通过Count属性确定集合中的成员个数。在上面的例子中,可以用MyNames.Count作为循环的组终值。不过,最好的办法是使用For Each…语句。例如,用下面的For Each…Next循环可以输出前面建立的集合中的成员:
For Each 成员 In 数组
Debug.WriteLine (elem)
Next elem
建立集合时应注意如下事项。
● 集合中的成员可以是同一种类型的数据,也可以混合使用多种数据。例如:
Private Sub Form1_Click (ByVal sender As Object,ByVal e As System.EventArgs) Handles MyBase.Click
Dim anyType As New Collection()
Dim x,a As Object
X=”Visual Basic.NET”
anyType.Add(x)
x=246
anyType.Add()
anyType.Add(Now)
anyType.Add(9876.5436)
anyType.Add (“微型计算机”)
For Eacy a In anyType
Debug.WriteLine(a)
Next a
End Sub
上述程序把多种类型的数据加入集合中,然后在“输出”窗口中提示这些数据。
● Add方法中的参数可能使用“位置”结合方式,也中以使用“指名”结合方式。如果使用位置结合方式,则必须按Item、Key、Before、After的顺序给出;而如果使用指名方式,可以不按顺序,但必须给出参数的名字,并使用“:=”。例如:
Private Sub Form1_Click (ByVal sender As Object,ByVal e As System.EventArgs) Handles MyBase.Click
Dim x As Object
Dim y,i As Short
Dim MyNames As New Collection()
y=1
For i= 1 to 10
MyNames.Add (Item:=”Name” & i,Key:=”Key#” & i)
Next i
MyNames.Add(Item:=”This is a new one inserted”,before:=8)
MyNames.Add(Item:=”这是新插入的一行”,after:=4)
For Each x In MyNames
Debug.WriteLine(“Line:” & y & “:” & x)
y=y+1
Next x
End Sub
上述程序用指名参数方式向集合中加入数据项。它首先用For…Next循环加入10个数据项,然后用Before和After参数把两个字符串插入已建立的集合中。运行程序如下图所示:
用指名参数方式可以提高程序的可读性,并能减少错误。实际上,由于Before和After参数不能同时出现在一个Add方法中,Visual Basic.NET不允许按“位置”结合方式使用这两个参数,必须使用“指名”结合方式。
● 参数Key是一个字符串表达式,在一个集合中,它必须是唯一的,否则在运行时将会产生错误。此外,当通过关键字访问集合中的一个成员时,所给出的关键字与集合中的关键字必须严格匹配(包括大小字)。
和窗体一样,集合是一个预定义的对象,为了建立一个集合,必须选建立一个Collection类的实例,格式为:
Dim 集合名 As New Collection()
例如:
Dim X As New Collection()
建立一个名为X的集合。
对象集合可以目执行三种主要的操作,即向集合中添加(或插入)数据项,从集合中删除数据项和查找集合中的成员,这些操作通过下面的方法来实现:
◆ Add方法:向集合中增加项目;
◆ Item方法:通过索引或分健值返回一个项目;
◆ Remove方法:通过索引或键值从集合中删除一个项目。
除上述方法外,集合对象还有一个只读属性,即Count,它返回集合中数据的个数。
用Add方法可以把一个新成员加入到集合对象。用关键字New建立了一个集合对象后,就可以用Add方法向集合中添加数据项。格式为:
Object.Add. item[, Key][,Before][,After]
Add方法带有多个参数,各参数含义如下:
(1) object:用New关键字建立的集合对象。
(2) item:加到集合中的数据项,可以是任何类型。如果要显式声明,则通常把它声明为对象(object)数据类型。这就是说,在一个集合中,可以混用多种数据类型。
(3) Key:是一个字符串表达式,它是与集合成员相关联的关键字,可以作为索引值使用,用来标识集合中一个成员。
(4) Before:是一个长整型的数值表达式,其取值范围为1到成员总数(即Count属性值)之间,用来指定插入或删除集合成员的位置,插入或删除的成员位于Before参数指定的成员之前。该参数也可以使用字符串,它与相应成员的关键字匹配。
(5) After:与Before类似,但插入或删除的成员位于After参数指定的成员之后。
在上面的参数中,Object是集合对象,必须先定义。后面4个参数中,只有Item,只有Item参数是必需的,其他三个参数均可略。
用下面的程序可以把数据项加到集合中:
Private Sub Form1_Click(ByVal sender As Object,ByVal e As System.EventArgs) Handles MyBase.Clic
Dim i As Short
Dim MyNames As New Collection()
Dim x
For i=1 to 10
MyNames.Add(Item:=”Name” & i, Key:”Key#” & i )
Next i
End Sub
该例首先声明了一个集合对象MyName,单击窗体,即可把10个数据项加到MyNames集合中。每个数据项都以“Name”开头,后面跟着一个数字。第一个数氨基同为”Naem1”,第二个数据项为“Name2”,……,最后一个数据项为“Name10”。由于在Add方法中使用了关键字参数,因而每个成员都有一个关键字,依次为Key#1、Key2#2……Key#10。此外,建立了集合后,集合中的每个成员都有一个索引值,它相当于数组中的下标,因此通常也称为下标,与数组不同,集合的下示从1开始。可以通过两种方式指定集合中的数据项,一种是下标,一种是关键字。例如,用下面的语句都可以输出前面程序建立的集合中的成员:
MsgBox(MyNames(3))
MsgBox(MyName(“Key#8”)
分别输出Name3和Name8,前一个语句通过下标访问集合成员,而后一个语句通过关键字访问集合成员。
为了输出集合中的每个成员可以使用For…Next循环,例如:
Pivate Sub Form1_Click (ByVal sender As Object,ByVal c As System.EventArgs) Handeles MyBase.Click
Dim i As Short
Dim MyNames As New Collection ()
For i=1 To 10
MyNames.Add (Item:=”Name” & i , Key:=”Key#” & i)
Next i
For i=1 to 10
Debug.WriteLine(MyNames(i))
Next
End Sub
上述程序首先把10具数据项加到集合中,然后用For…Next循环输出这10个数据项。可以看出,这种方式与数组元素的输出操作基本相同。当确切地知道集合中的成员个数时,用For…Next循环可以输出集合中的每个成员。但是,如果频繁地对集合进行增、删操作,则可能记不清集合中到底有多少成员在这种情况下,可以通过Count属性确定集合中的成员个数。在上面的例子中,可以用MyNames.Count作为循环的组终值。不过,最好的办法是使用For Each…语句。例如,用下面的For Each…Next循环可以输出前面建立的集合中的成员:
For Each 成员 In 数组
Debug.WriteLine (elem)
Next elem
建立集合时应注意如下事项。
● 集合中的成员可以是同一种类型的数据,也可以混合使用多种数据。例如:
Private Sub Form1_Click (ByVal sender As Object,ByVal e As System.EventArgs) Handles MyBase.Click
Dim anyType As New Collection()
Dim x,a As Object
X=”Visual Basic.NET”
anyType.Add(x)
x=246
anyType.Add()
anyType.Add(Now)
anyType.Add(9876.5436)
anyType.Add (“微型计算机”)
For Eacy a In anyType
Debug.WriteLine(a)
Next a
End Sub
上述程序把多种类型的数据加入集合中,然后在“输出”窗口中提示这些数据。
● Add方法中的参数可能使用“位置”结合方式,也中以使用“指名”结合方式。如果使用位置结合方式,则必须按Item、Key、Before、After的顺序给出;而如果使用指名方式,可以不按顺序,但必须给出参数的名字,并使用“:=”。例如:
Private Sub Form1_Click (ByVal sender As Object,ByVal e As System.EventArgs) Handles MyBase.Click
Dim x As Object
Dim y,i As Short
Dim MyNames As New Collection()
y=1
For i= 1 to 10
MyNames.Add (Item:=”Name” & i,Key:=”Key#” & i)
Next i
MyNames.Add(Item:=”This is a new one inserted”,before:=8)
MyNames.Add(Item:=”这是新插入的一行”,after:=4)
For Each x In MyNames
Debug.WriteLine(“Line:” & y & “:” & x)
y=y+1
Next x
End Sub
上述程序用指名参数方式向集合中加入数据项。它首先用For…Next循环加入10个数据项,然后用Before和After参数把两个字符串插入已建立的集合中。运行程序如下图所示:
用指名参数方式可以提高程序的可读性,并能减少错误。实际上,由于Before和After参数不能同时出现在一个Add方法中,Visual Basic.NET不允许按“位置”结合方式使用这两个参数,必须使用“指名”结合方式。
● 参数Key是一个字符串表达式,在一个集合中,它必须是唯一的,否则在运行时将会产生错误。此外,当通过关键字访问集合中的一个成员时,所给出的关键字与集合中的关键字必须严格匹配(包括大小字)。
栏目列表
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比