VB.NET中有用的通用对象列表

  次阅读 来源:互联网(转载协议) 2016-01-19 12:49 我要评论(0)

要使用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种类进行搜寻:

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 让AI触手可及  Qualcomm携手创通联达推出全新终端侧AI开发套件

    让AI触手可及 Qualcomm携手创通联达推出全新终端侧AI开发套件

  • 第一批国家重点研发计划公布,旷视科技开启“五年行动”

    第一批国家重点研发计划公布,旷视科技开启“五年行动”

  • 品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

    品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

  • 长虹新款智能语音空调,告诉你空调也能玩Siri

    长虹新款智能语音空调,告诉你空调也能玩Siri

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...