VB.NET中有用的通用对象列表
2009-05-12 22:47:10来源:未知 阅读 ()
要使用List(of T),我们需要了解如何部署.NET框架所提供的多种方法。这也将是本文要介绍的内容。我已经编写好了三个示例——使用ForEach, FindAll,和Sort——来阐述同样列表类的工作原理。
第一步是要创建一个同用列表。你可以从多种途径获取数据,但是最简单的方法是添加。文本中,我们会编写代码以便为举例中的集来分类。因此,下面我们就来讲讲创建集的代码。
首先,我需要一个能代表集中的Bottle的对象。为此而编写的代码是完全符合标准的,而且事实上,VB.NET 2008 Express Intellisense会为你写好大部分的代码。以下是我的对象:
Public Class Bottle "internalProperties"Public Property Brand() As String
Public Property Name() As String
Public Property Category() As String
Public Property Size() As Decimal
Public Sub New( _
End Sub
End Class
为了创建集,我需要添加项目:
Dim Cabinet As List(Of Bottle) = _ "New List(Of Bottle)Cabinet.Add(New Bottle( _
"Castle Creek", _
"Uintah Blanc", _
"Wine", 750))
Cabinet.Add(New Bottle( _
"Zion Canyon Brewing Company", _
"Springdale Amber Ale", _
"Beer", 355))
Cabinet.Add(New Bottle( _
"Spanish Valley Vineyards", _
"Syrah", _
"Wine", 750))
Cabinet.Add(New Bottle( _
"Wasatch Beers", _
"Polygamy Porter", _
"Beer", 355))Cabinet.Add(New Bottle( _
"Squatters Beer", _
"Provo Girl Pilsner", _
"Beer", 355))
所有的这些都是VB.NET1.0中的标准代码。但是,要通过定义我们自己的Bottle对象来注明。我们会在相同集中的多类型中获益。
下面我们将介绍ForEach, FindAll, 和Sort方法。
我们使用这些方法的时候,就会发现其中的乐趣了。首先,让我们部署ForEach方法。微软文件包含了其使用句法定义。
Dim instance As List Dim action As Action(Of T)instance.ForEach(action)
微软进一步将委派行为定义为一种可以将对象传递的行为进行演示的一种方法。目前的List(T)要素是单独传送到Action(T)代表的。
第一件要做的事就是需要编写被委派方法的代码。对这一关键点存在误区是大部分人对于VB.NET感到困惑的原因。该项功能或子程序是所有用于Of类型对象的自定义编码所完成的场所。当我们能够正确使用这一功能时,过程就很简单。在我们的举例中,对它的使用很简单。Bottle的整个示例都被传送了,且子程序会从中抽选出任何需要的数据。
Sub displayBottle(ByVal b As Bottle) Console.WriteLine(b.Brand & " - " & b.Name)
End Sub
编写ForEach方法本身是很简单的,只需要填写代表的地址就可以了。
Cabinet.ForEach(AddressOf displayBottle)
FindAll稍微有些复杂。微软关于FindAll的说明如下:
Dim instance As List Dim match As Predicate(Of T)Dim returnValue As List(Of T)
returnValue = instance.FindAll(match)
现在,在我们的句法中出现了不同的要素,Predicate(T)。据微软称,这将代表定义了一套标准以及能确定指定对象是否符合这些标准的方法。换句话说,我们可以创建任何能在列表中找寻数据的代码。我编写的Predicate(Of T)可以对Beer种类进行搜寻:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
- 详解ABP框架中的数据过滤器与数据传输对象的使用 2020-01-18
- ASP.NET 程序员都非常有用的85个工具 2019-11-15
- 【转载】 C#中手动创建一个DataTable对象并写入数据 2019-07-23
- C#关于反序列化实例时,接收实体字段少于或大于原实体对象 2019-07-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash