成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET查詢包含威力強大

開發 后端
VB.NET查詢包含它的影音范圍能夠涉及到一些數據。我們將會在這篇文章中為大家詳細介紹一下這方面的具體概念,幫助大家快速掌握。

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

我們來看一個VB.NET查詢包含的例子。假如employee類有firstname,lastname和age等屬性。現在有一個list(of Employee)類型的集合叫做emp。假設我們要查詢所有Age大于25的員工的姓名。回憶一下前面我們介紹的特性怎么給查詢帶來新的變化。首先我們給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創建各種參數個數和類型的委托,而不必聲明新的委托類型。這里Func用于表示一個斷言。于是我們就把條件查詢封裝了。與此同時,我們還可以封裝一個Select方法,用于數據類型轉換,以此類推,還可以有OrderBy和GroupBy等等……這些就成為Linq的查詢算符。

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

 

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

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

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

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

責任編輯:曹凱 來源: wewill.cn
相關推薦

2009-10-21 10:05:48

VB.NET Read

2009-10-29 14:02:24

VB和VB.NET比較

2009-10-20 14:21:55

VB.NET fnSi

2009-10-14 12:51:41

VB.NET Data

2010-01-22 17:48:46

VB.NET運算符重載

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-11-02 17:12:01

VB和VB.NET

2010-01-21 17:34:48

VB.NET Bool

2009-08-19 16:38:30

VB.NET接口范例

2009-10-20 14:09:05

VB.NET反射功能

2009-10-21 10:45:50

VB.NET Quic

2009-10-27 12:06:01

VB.NET IDis

2009-10-13 14:50:59

VB.NET Envi

2009-10-14 14:04:29

VB.NET創建Web

2010-01-12 16:20:44

VB.NET類

2009-10-28 10:04:53

VB.NET XmlW

2010-01-12 18:35:43

VB.NET Stru

2009-11-03 13:48:02

VB.NET枚舉

2009-10-26 15:57:07

VB.NET使用Ora
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91在线观看免费视频 | 国产精品久久久久久妇女6080 | 久久精品视频播放 | 国产综合精品一区二区三区 | 一级美国黄色片 | 黄片毛片在线观看 | 日韩免费av| 国产日韩一区二区三免费高清 | 精品欧美一区二区精品久久久 | 狠狠干夜夜草 | 中国大陆高清aⅴ毛片 | 午夜激情小视频 | 中文字幕日韩专区 | 成人免费在线观看视频 | 小川阿佐美pgd-606在线 | www.日本在线播放 | 久久中文字幕一区 | 亚洲国产精品视频一区 | 久久久亚洲 | 亚洲一区 | 日韩电影中文字幕 | 黄网免费看 | 国产一区二区精品在线观看 | 男女精品网站 | 在线播放亚洲 | 日韩欧美大片 | 久久av一区二区三区 | 欧产日产国产精品99 | 九九伦理电影 | 免费国产视频在线观看 | 视频在线观看一区 | 欧美一区二区免费电影 | 国产1区2区 | 亚洲精品久久久久久久久久久久久 | 国产免费福利在线 | 午夜影院视频在线观看 | 亚洲一区国产 | 国产精品美女久久久久久久久久久 | 久久国产精品视频免费看 | 一级a毛片 | 国产欧美日韩一区二区三区在线 |