日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
VB.NETList實(shí)用技巧詳解

VB.NET同所有編程語(yǔ)言一樣具有一樣的編程基礎(chǔ)框架。這對(duì)于一個(gè)剛剛接觸VB.NET語(yǔ)言而又有其他語(yǔ)言基礎(chǔ)的開(kāi)發(fā)人員來(lái)說(shuō),是非常有用的。因?yàn)橹挥没ê苌俚臅r(shí)間就可以快速的掌握這一功能強(qiáng)大的語(yǔ)言。今天我們就來(lái)詳細(xì)了解一下VB.NET List的相關(guān)知識(shí)。#t#

創(chuàng)新互聯(lián)公司始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營(yíng)理念,通過(guò)多達(dá)十年累計(jì)超上千家客戶(hù)的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶(hù),其中包括:成都護(hù)欄打樁機(jī)等企業(yè),備受客戶(hù)贊譽(yù)。

要使用VB.NET List,我們需要了解如何部署.NET框架所提供的多種方法。這也將是本文要介紹的內(nèi)容。我已經(jīng)編寫(xiě)好了三個(gè)示例——使用ForEach, FindAll,和Sort——來(lái)闡述同樣列表類(lèi)的工作原理。

***步是要?jiǎng)?chuàng)建一個(gè)同用列表。你可以從多種途徑獲取數(shù)據(jù),但是最簡(jiǎn)單的方法是添加。文本中,我們會(huì)編寫(xiě)代碼以便為舉例中的集來(lái)分類(lèi)。因此,下面我們就來(lái)講講創(chuàng)建集的代碼。

首先,我需要一個(gè)能代表集中的Bottle的對(duì)象。為此而編寫(xiě)的代碼是完全符合標(biāo)準(zhǔn)的,而且事實(shí)上,VB.NET 2008 Express Intellisense會(huì)為你寫(xiě)好大部分的代碼。以下是我的對(duì)象:

 
 
 
  1. Public Class Bottle "internal
    Properties"Public Property 
    Brand() As String  
  2. Public Property Name() 
    As String  
  3. Public Property Category() 
    As String  
  4. Public Property Size() 
    As Decimal  
  5. Public Sub New( _  
  6. End Sub  
  7. End Class  

為了創(chuàng)建集,我需要添加項(xiàng)目:

 
 
 
  1. Dim Cabinet As List(Of Bottle) =
     _ "New List(Of Bottle)Cabinet.
    Add(New Bottle( _  
  2. "Castle Creek", _  
  3. "Uintah Blanc", _  
  4. "Wine", 750))  
  5. Cabinet.Add(New Bottle( _  
  6. "Zion Canyon Brewing Company", _  
  7. "Springdale Amber Ale", _  
  8. "Beer", 355))  
  9. Cabinet.Add(New Bottle( _  
  10. "Spanish Valley Vineyards", _  
  11. "Syrah", _  
  12. "Wine", 750))  
  13. Cabinet.Add(New Bottle( _  
  14. "Wasatch Beers", _  
  15. "Polygamy Porter", _  
  16. "Beer", 355))Cabinet.
    Add(New Bottle( _  
  17. "Squatters Beer", _  
  18. "Provo Girl Pilsner", _  
  19. "Beer", 355))  

所有的這些都是VB.NET1.0中的標(biāo)準(zhǔn)代碼。但是,要通過(guò)定義我們自己的Bottle對(duì)象來(lái)注明。我們會(huì)在相同集中的多類(lèi)型中獲益。

下面我們將介紹ForEach, FindAll, 和Sort方法。

我們使用這些方法的時(shí)候,就會(huì)發(fā)現(xiàn)其中的樂(lè)趣了。首先,讓我們部署ForEach方法。微軟文件包含了其使用句法定義。

 
 
 
  1. Dim instance As List 
    Dim action As Action(Of T)
    instance.ForEach(action)  

微軟進(jìn)一步將委派行為定義為一種可以將對(duì)象傳遞的行為進(jìn)行演示的一種方法。目前的VB.NET List要素是單獨(dú)傳送到Action(T)代表的。

***件要做的事就是需要編寫(xiě)被委派方法的代碼。對(duì)這一關(guān)鍵點(diǎn)存在誤區(qū)是大部分人對(duì)于VB.NET感到困惑的原因。該項(xiàng)功能或子程序是所有用于Of類(lèi)型對(duì)象的自定義編碼所完成的場(chǎng)所。當(dāng)我們能夠正確使用這一功能時(shí),過(guò)程就很簡(jiǎn)單。在我們的舉例中,對(duì)它的使用很簡(jiǎn)單。Bottle的整個(gè)示例都被傳送了,且子程序會(huì)從中抽選出任何需要的數(shù)據(jù)。

 
 
 
  1. Sub displayBottle
    (ByVal b As Bottle)   
  2. Console.WriteLine
    (b.Brand & " - " & b.Name)  
  3. End Sub  

編寫(xiě)ForEach方法本身是很簡(jiǎn)單的,只需要填寫(xiě)代表的地址就可以了。

 
 
 
  1. Cabinet.ForEach
    (AddressOf displayBottle) 

FindAll稍微有些復(fù)雜。微軟關(guān)于FindAll的說(shuō)明如下:

 
 
 
  1. Dim instance As List 
    Dim match As Predicate(Of T)  
  2. Dim returnValue As List(Of T)  
  3. returnValue = instance.
    FindAll(match)  

現(xiàn)在,在我們的句法中出現(xiàn)了不同的要素,Predicate(T)。據(jù)微軟稱(chēng),這將代表定義了一套標(biāo)準(zhǔn)以及能確定指定對(duì)象是否符合這些標(biāo)準(zhǔn)的方法。換句話(huà)說(shuō),我們可以創(chuàng)建任何能在列表中找尋數(shù)據(jù)的代碼。我編寫(xiě)的Predicate(Of T)可以對(duì)Beer種類(lèi)進(jìn)行搜尋:

 
 
 
  1. Function findBeer(ByVal 
    b As Bottle)
     _ As BooleanIf 
    (b.Category = "Beer") Then  
  2. Return True  
  3. Else  
  4. Return FalseEnd IfEnd Function  

FindAll返回的是整個(gè)VB.NET List而不是調(diào)用列表中每個(gè)項(xiàng)目的代表代碼。這個(gè)VB.NET List)只包含匹配Predicate(T)的數(shù)據(jù)。對(duì)第二個(gè)VB.NET List的定義和操作也取決于我們編寫(xiě)的代碼。重復(fù)一遍,我的代碼是為免冗繁而簡(jiǎn)化了。

 
 
 
  1. Dim sublist As List(Of Bottle)   
  2. sublist = Cabinet.FindAll
    (AddressOf findBeer)  
  3. For Each result As Bottle   
  4. In sublist  
  5. Console.WriteLine(result.
    Brand & " - " & result.Name)  
  6. Next  

本文探討的***一個(gè)方法是Sort。微軟使用了一些你或許并不熟悉的術(shù)語(yǔ)對(duì)其進(jìn)行解釋。其實(shí)有四個(gè)不同的Sort方法負(fù)載:

1. Sort()

2. Sort(Icomparer(T)

3. Sort(Comparison(T)

4. Sort(Int32,Int32,Icomparer(T)

這讓我們能夠用.NET框架中定義的Sort方法編寫(xiě)自己的代碼或者只是通過(guò)使用起始位置和計(jì)數(shù)參數(shù)來(lái)收集集合的一部分。

在這個(gè)例子中,我為自己的比較器編寫(xiě)了另一個(gè)代表。由于我希望通過(guò)我的分類(lèi)方式來(lái)分類(lèi),于是就只是抽去了傳所送的Bottle對(duì)象中每個(gè)例子的值。

 
 
 
  1. Private Shared Function 
    sortCabinet( _ ByVal x As 
    Bottle, ByVal y As Bottle) 
    As IntegerReturn  
  2. x.Category.CompareTo
    (y.Category)  
  3. End Function  

Sort方法實(shí)際上對(duì)原始VB.NET List進(jìn)行了重新排列。所以這就是該執(zhí)行該方法后發(fā)生的一個(gè)過(guò)程。

 
 
 
  1. Cabinet.Sort(AddressOf 
    sortCabinet)   
  2. For Each result As Bottle   
  3. In CabinetConsole.WriteLine
    (result.Brand & " - " 
    & result.Name)  
  4. Next  

這些方法被選擇用來(lái)闡述VB.NET List中編寫(xiě)框架方法代碼的主要方式。你會(huì)發(fā)現(xiàn)它們使得VB.NET List更加有用。


當(dāng)前文章:VB.NETList實(shí)用技巧詳解
標(biāo)題路徑:http://m.5511xx.com/article/djshegi.html