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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET查詢包含威力強大

在VB.NET新版本中,出現(xiàn)了很多新的特性,幫助開發(fā)人員極大的提高了編程效率。不過這些初衷都是為了迎合.NET Framework新的數(shù)據(jù)框架——Linq。Linq的一個口號是“讓查詢無處不在”,它將類似SQL的語法強類型地引入到Visual Basic中,而且可以任意組合使用。不要以為只是把數(shù)據(jù)庫的SQL寫到VB中而已,那樣就太小看Linq了。VB的目標是讓一切包含數(shù)據(jù)的對象都可以用類SQL查詢,包含數(shù)據(jù)庫映射對象(DLinq),XML(XLinq),甚至是.NET Framework中的一切集合對象。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、雅安服務器托管、營銷軟件、網(wǎng)站建設、贊皇網(wǎng)站維護、網(wǎng)站推廣。

我們來看一個VB.NET查詢包含的例子。假如employee類有firstname,lastname和age等屬性?,F(xiàn)在有一個list(of Employee)類型的集合叫做emp。假設我們要查詢所有Age大于25的員工的姓名?;貞浺幌虑懊嫖覀兘榻B的特性怎么給查詢帶來新的變化。首先我們給IEnumerable增加擴展方法Where:

 
 
 
  1. < Extension()> _  
  2. Public Function Where()Function Where(Of T)([Me] As 
    IEnumerable(Of T), predicate As Func(Of T, Boolean))_  
  3. As IEnumerable(Of T)  
  4. Dim result As New Collection(Of T)  
  5. For Each Dim item In [Me]  
  6. If predicate(item) Then result.Add(item)  
  7. Next  
  8. Return result  
  9. End Function 

注意func,這是.NET Framework將會增加的一組泛型委托之一,用于On-the-fly創(chuàng)建各種參數(shù)個數(shù)和類型的委托,而不必聲明新的委托類型。這里Func用于表示一個斷言。于是我們就把條件查詢封裝了。與此同時,我們還可以封裝一個Select方法,用于數(shù)據(jù)類型轉換,以此類推,還可以有OrderBy和GroupBy等等……這些就成為Linq的查詢算符。

回憶一下,我們還有嵌套函數(shù),于是可以按下列方法使用查詢算符:

 
 
 
  1. Function F()Function F(obj As Employee)As Boolean  
  2. Return obj.Age > 25  
  3. End Function 

Dim result = emp.Where(AddressOf F)這里稍顯麻煩的就是,我們需要自己定義函數(shù),這樣進行復雜查詢就會寫得很累,即使可能會有l(wèi)ambda表達式幫助,我們也希望尋求更容易理解的方法,那就是VB.NET查詢包含Query Comprehension。新引入的Select,Where等查詢關鍵字可以幫你完成前面介紹的一整套內(nèi)容:#t#

Dim result = Select It From e In emp Where e.Age > 25一個簡單的類似SQL的語法就幫助你生成了匿名的嵌套函數(shù)和所有算符的調(diào)用。注意It的用法,Select It就表示選擇所有字段。我們只需要Employee的名字,那么就可以這樣寫:
Dim result = Select e.FirstName, e.LastName From e In emp Where e.Age > 25這樣,select語句就會把查詢的結果轉化成一個tuple(匿名類型的實例),它僅包含你所需要的字段。慢慢你就會發(fā)現(xiàn),VB.NET查詢包含的威力可以延伸到你所能接觸到的一切數(shù)據(jù)。這種關系型的語法很快就會代替for Each的手工迭代工作。

我們知道VB9將在xml方面有卓越的改進,當xml literal、XML后期綁定與VB.NET查詢包含的語法結合在一起后,將體現(xiàn)出非凡的簡潔和高效,這是C# 3.0等同期語言無法比擬的,我們介紹到XML特性后再繼續(xù)介紹。


名稱欄目:VB.NET查詢包含威力強大
路徑分享:http://www.5511xx.com/article/djgpogd.html