知识大全 VB.NET中有用的通用对象列表

Posted

篇首语:人的天才只是火花,要想使它成熊熊火焰,哪就只有学习!学习。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 VB.NET中有用的通用对象列表相关的知识,希望对你有一定的参考价值。

VB.NET中有用的通用对象列表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  要使用List(of T) 我们需要了解如何部署 NET框架所提供的多种方法 这也将是本文要介绍的内容 我已经编写好了三个示例——使用ForEach FindAll 和Sort——来阐述同样列表类的工作原理

  第一步是要创建一个同用列表 你可以从多种途径获取数据 但是最简单的方法是添加 文本中 我们会编写代码以便为举例中的集来分类 因此 下面我们就来讲讲创建集的代码

  首先 我需要一个能代表集中的Bottle的对象 为此而编写的代码是完全符合标准的 而且事实上 VB NET 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 ))

  Cabinet Add(New Bottle( _

   Zion Canyon Brewing Company _

   Springdale Amber Ale _

   Beer ))

  Cabinet Add(New Bottle( _

   Spanish Valley Vineyards _

   Syrah _

   Wine ))

  Cabinet Add(New Bottle( _

   Wasatch Beers _

   Polygamy Porter _

   Beer ))

  Cabinet Add(New Bottle( _

   Squatters Beer _

   Provo Girl Pilsner _

   Beer ))

  所有的这些都是VB NET 中的标准代码 但是 要通过定义我们自己的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种类进行搜寻

  

  Function findBeer(ByVal b As Bottle) _ As Boolean

  If (b Category = Beer ) Then

  Return True

  Else

  Return False

  End If

  End Function

  FindAll返回的是整个List(T)而不是调用列表中每个项目的代表代码 这个List(T)只包含匹配Predicate(T)的数据 对第二个List(T)的定义和操作也取决于我们编写的代码 重复一遍 我的代码是为免冗繁而简化了

  

  Dim sublist As List(Of Bottle) sublist = Cabinet FindAll(AddressOf findBeer)

  For Each result As Bottle In sublist

  Console WriteLine(result Brand & & result Name)

  Next

  本文探讨的最后一个方法是Sort 微软使用了一些你或许并不熟悉的术语对其进行解释 其实有四个不同的Sort方法负载

  

   Sort()

   Sort(Iparer(T)

   Sort(Comparison(T)

   Sort(Int Int Iparer(T)

  这让我们能够用 NET框架中定义的Sort方法编写自己的代码或者只是通过使用起始位置和计数参数来收集集合的一部分

  在这个例子中 我为自己的比较器编写了另一个代表 由于我希望通过我的分类方式来分类 于是就只是抽去了传所送的Bottle对象中每个例子的值

  

  Private Shared Function sortCabinet( _ ByVal x As Bottle ByVal y As Bottle) As Integer

  Return x Category CompareTo(y Category)

  End Function

  Sort方法实际上对原始List(T)进行了重新排列 所以这就是该执行该方法后发生的一个过程

  

  Cabinet Sort(AddressOf sortCabinet) For Each result As Bottle In Cabinet

  Console WriteLine(result Brand & & result Name)

  Next

cha138/Article/program/net/201311/12090

相关参考

知识大全 VB.NET中对象的克隆[1]

VB.NET中对象的克隆[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在DMAX里面做好

知识大全 VB.NET对象的广泛应用

VB.NET对象的广泛应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码重用简化了开发过程

知识大全 VB.NET的新的面向对象能力

VB.NET的新的面向对象能力  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  面向对象的编程在V

知识大全 VB.net 学习设计模式(中介者模式)

VB.net学习设计模式(中介者模式)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!将一些对象的相

知识大全 VB.NET中声音的播放

VB.NET中声音的播放  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 由VB升级为NET后有些人

知识大全 在VB.NET编程中使用数组

在VB.NET编程中使用数组  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数组是程序中经常要使

知识大全 在VB.NET中进行抓屏

在VB.NET中进行抓屏  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!PublicClassFor

知识大全 vb.net中应用ArrayList 实例

vb.net中应用ArrayList实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Arra

知识大全 在VB.NET中检索文件信息

在VB.NET中检索文件信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  您是否曾经希望了解如

知识大全 解决VB.net中ReadProcessMemory的问题

解决VB.net中ReadProcessMemory的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一