VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • 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是一个字符串表达式,在一个集合中,它必须是唯一的,否则在运行时将会产生错误。此外,当通过关键字访问集合中的一个成员时,所给出的关键字与集合中的关键字必须严格匹配(包括大小字)。
 

相关教程