青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Javen-Studio 咖啡小屋

http://javenstudio.org - C++ Java 分布式 搜索引擎
Naven's Research Laboratory - Thinking of Life, Imagination of Future

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  24 隨筆 :: 57 文章 :: 170 評(píng)論 :: 4 Trackbacks

1           NET語(yǔ)言級(jí)集成查詢能力(.NET Language Integrated Query

(原文:The LINQ Project, .NET Language Integrated Query

 

經(jīng)過(guò)了最近20年,面向?qū)ο缶幊碳夹g(shù)(object-oriented (OO) programming technologies)在工業(yè)領(lǐng)域的應(yīng)用已經(jīng)進(jìn)入了一個(gè)穩(wěn)定的發(fā)展階段。程序員現(xiàn)在都已經(jīng)認(rèn)同像 類(lèi)(classes)、對(duì)象(objects)、方法(methods)這樣的語(yǔ)言特性。考察現(xiàn)在和下一代的技術(shù),一個(gè)新的編程技術(shù)的重大挑戰(zhàn)開(kāi)始呈現(xiàn)出來(lái),即面向?qū)ο蠹夹g(shù)誕生以來(lái)并沒(méi)有解決降低訪問(wèn)和整合信息數(shù)據(jù)(accessing and integrating information)的復(fù)雜度的問(wèn)題。其中兩個(gè)最主要訪問(wèn)的數(shù)據(jù)源與數(shù)據(jù)庫(kù)(database)和XML相關(guān)。

LINQ提供了一條更常規(guī)的途徑即給.Net Framework添加一些可以應(yīng)用于所有信息源(all sources of information)的具有多種用途(general-purpose)的語(yǔ)法查詢特性(query facilities),這是比向開(kāi)發(fā)語(yǔ)言和運(yùn)行時(shí)(runtime)添加一些關(guān)系數(shù)據(jù)(relational)特性或者類(lèi)似XML特性(XML-specific)更好的方式。這些語(yǔ)法特性就叫做.NET Language Integrated Query (LINQ)

.NET Language Integrated Query定義了一組多用途的標(biāo)準(zhǔn)查詢操作符(standard query operators),可以在任何一種基于.NET平臺(tái)的開(kāi)發(fā)語(yǔ)言(.NET-based programming languagequery operators)中用一些簡(jiǎn)潔明了的語(yǔ)法就可以做到像訪問(wèn)、過(guò)濾、發(fā)送數(shù)據(jù)這樣一些操作。

LONQ項(xiàng)目使用的可擴(kuò)展的查詢體系架構(gòu),可以提供同時(shí)處理XML數(shù)據(jù)和SQL數(shù)據(jù)的實(shí)現(xiàn)。基于XML (XLinq)的查詢操作符使用一種高效率的,易使用的,并且在內(nèi)存中處理的XML語(yǔ)法,如在主程序設(shè)計(jì)語(yǔ)言中使用的XPath/XQuery這樣的功能。基于關(guān)系數(shù)據(jù)(Dlinq)的查詢操作符即建立在綜合查詢語(yǔ)言(SQL-Based)語(yǔ)法基礎(chǔ)上的語(yǔ)法,則直接定義在CLR類(lèi)型庫(kù)系統(tǒng)(CLR type system)中。

 

1.1         標(biāo)準(zhǔn)查詢語(yǔ)法介紹

下面用一段C# 3.0的程序來(lái)介紹標(biāo)準(zhǔn)查詢語(yǔ)法是如何使用的,該程序使用標(biāo)準(zhǔn)查詢操作符處理一個(gè) array 的數(shù)據(jù)內(nèi)容:

 

using System;
using System.Query;
using System.Collections.Generic;

class app {
  
static void Main() {
    
string[] names = "Burke""Connor""Frank"
                       
"Everett""Albert""George"
                       
"Harris""David" }
;

    IEnumerable
<string> expr = from s in names 
                               where s.Length 
== 5
                               orderby s
                               select s.ToUpper();

    
foreach (string item in expr)
      Console.WriteLine(item);
  }

}

編譯并運(yùn)行該程序?qū)⑤敵鋈缦陆Y(jié)果:

BURKE
DAVID
FRANK


為了了解語(yǔ)言級(jí)集成查詢是如何工作的,下面來(lái)剖析第一段程序:

 

IEnumerable<string> expr = from s in names 
                           where s.Length 
== 5
                           orderby s
                           select s.ToUpper();

 

局部變量 expr 使用一個(gè)查詢表達(dá)式(query expression)進(jìn)行初始化。通過(guò)從標(biāo)準(zhǔn)查詢操作符(standard query operators)或特定領(lǐng)域操作符(domain-specific operators)中申請(qǐng)一個(gè)或更多的查詢操作符(query operators),查詢表達(dá)式(query expression)可以訪問(wèn)一個(gè)或更多信息源(information sources)。這種查詢表達(dá)式使用三種標(biāo)準(zhǔn)的查詢操作符,即 WhereOrderBy,和 Select

 

Visual Basic 9.0 可以很好的支持 LINQ,在 Visual Basic 9.0 中實(shí)現(xiàn)上面語(yǔ)句(statement)的程序如下:

 

Dim expr As IEnumerable(Of String= _
                   
Select s.ToUpper() _
                   From s 
in names _
                   Where s.Length 
= 5 _
                   Order By s

 

以上 C# Visual Basic 的語(yǔ)句展示了查詢的語(yǔ)法(query syntax),就像 foreach 語(yǔ)句一樣,查詢語(yǔ)法是一些可以讓你輕松的手工編寫(xiě)的便利速記語(yǔ)句。上面的語(yǔ)句跟下面用 C# 編寫(xiě)的更直觀的語(yǔ)法在語(yǔ)義上是一致的:

 

IEnumerable<string> expr = names 
                           .Where(s 
=> s.Length == 5
                           .OrderBy(s 
=> s)
                           .Select(s 
=> s.ToUpper());

 

上面 WhereOrderBy Select 的操作符的參數(shù)被稱(chēng)作 lambda 表達(dá)式(lambda expressions),這些分段的代碼很像委托(delegates,參見(jiàn)C++ 托管擴(kuò)展中的委托)。它們?cè)试S標(biāo)準(zhǔn)查詢操作符單獨(dú)地定義成方法(method),并且可以用句點(diǎn)符號(hào)(dot notation)分隔的一列語(yǔ)句(strung together)的方式來(lái)使用。連接起來(lái),這些方法就形成了一種可擴(kuò)展(extensible)的查詢語(yǔ)言的基本形式。



待續(xù), 譯者Naven 2005-10-20
posted on 2005-10-21 02:50 Javen-Studio 閱讀(1734) 評(píng)論(1)  編輯 收藏 引用

評(píng)論

# LINQ,.NET綜合查詢語(yǔ)言(.NET Language Integrated Query)[TrackBack] 2005-10-21 02:54 Naven
Ping Back來(lái)自:blog.csdn.net  查看原文  回復(fù)  更多評(píng)論
  


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品一国产精品k频道56| 国产精品久久久久aaaa| 久久精品人人做人人爽电影蜜月| 欧美日韩精品免费观看视一区二区| 国内视频精品| 午夜精品一区二区在线观看| 欧美.com| 国精品一区二区三区| 在线综合视频| 亚洲欧洲精品一区二区| 久久久久久网| 激情综合在线| 美女精品在线观看| 久久久久久久久久码影片| 韩国美女久久| 欧美黄色小视频| 欧美1区2区3区| 日韩视频一区二区三区在线播放免费观看| 欧美成人免费全部观看天天性色| 久久久久免费观看| 亚洲高清视频一区| 91久久线看在观草草青青| 欧美激情无毛| 亚洲欧美制服中文字幕| 午夜在线视频观看日韩17c| 国产免费成人av| 玖玖玖国产精品| 欧美高清你懂得| 亚洲免费在线电影| 欧美影院久久久| 亚洲二区在线视频| 日韩午夜在线视频| 国产日韩在线看片| 欧美国产日韩免费| 欧美午夜不卡| 久久久亚洲成人| 欧美黄色aa电影| 香港久久久电影| 老司机亚洲精品| 亚洲一区综合| 久久男人av资源网站| 亚洲校园激情| 久久精品首页| 中文在线一区| 久久久无码精品亚洲日韩按摩| 99精品欧美一区二区蜜桃免费| 一区二区三区三区在线| 永久555www成人免费| 亚洲精品偷拍| 精品成人国产| 亚洲一区免费视频| 亚洲国产日日夜夜| 亚洲欧美一区二区原创| 亚洲人被黑人高潮完整版| 亚洲一区美女视频在线观看免费| 亚洲第一网站免费视频| 亚洲一区欧美激情| 亚洲国产专区校园欧美| 亚洲欧美成人一区二区三区| 亚洲精品中文字幕在线观看| 久久福利毛片| 午夜精品视频在线观看| 欧美大尺度在线观看| 久久久亚洲人| 国产精品久久久久久久第一福利| 欧美成人免费在线视频| 国产日韩精品视频一区二区三区| 亚洲精品日韩精品| 亚洲人成人一区二区在线观看| 欧美亚洲一级片| 99亚洲视频| 正在播放亚洲| 久久久免费精品视频| 亚洲一区二区在线看| 免费视频亚洲| 久久综合亚洲社区| 国产一级揄自揄精品视频| 在线午夜精品| 亚洲视频一区在线| 欧美电影在线播放| 亚洲国产精品www| 亚洲国产欧美日韩另类综合| 久久精品99久久香蕉国产色戒| 亚洲欧美日韩系列| 国产精品久久网| 亚洲一区二区视频| 午夜精品久久久久久久99水蜜桃| 欧美日韩在线播放一区| 亚洲精品午夜| 亚洲午夜影视影院在线观看| 欧美激情无毛| 99精品视频一区| 欧美破处大片在线视频| 亚洲激情在线| 一区二区三区四区国产精品| 欧美日韩精品三区| 亚洲午夜国产一区99re久久| 亚洲免费一级电影| 国产精品乱子乱xxxx| 亚洲永久在线| 久久久久欧美精品| 在线观看中文字幕不卡| 男人插女人欧美| 亚洲伦理在线观看| 亚洲女ⅴideoshd黑人| 国产欧美韩国高清| 国产亚洲一级| 久久国产66| 男人插女人欧美| 亚洲三级免费| 国产精品久久午夜| 久久精品久久99精品久久| 欧美 日韩 国产精品免费观看| 亚洲欧洲一区二区三区久久| 欧美久久久久久久久久| 亚洲午夜精品一区二区| 久久久久久一区| 日韩视频永久免费| 欧美性片在线观看| 久久9热精品视频| 亚洲电影视频在线| 亚洲欧美精品中文字幕在线| 精品动漫3d一区二区三区免费| 免费视频亚洲| 午夜精品久久99蜜桃的功能介绍| 美女黄网久久| 亚洲欧美精品一区| 亚洲大片免费看| 国产精品久久网| 欧美成人免费va影院高清| 这里只有精品视频在线| 久久亚洲综合色| 亚洲尤物精选| 亚洲经典在线看| 国产精品一区二区黑丝| 欧美99久久| 久久久99久久精品女同性| 一区二区三区日韩| 亚洲国产精品悠悠久久琪琪| 欧美一级网站| 一区二区久久久久久| 激情婷婷亚洲| 黄色成人91| 欧美v日韩v国产v| 亚洲乱码国产乱码精品精可以看| 欧美一区二区三区视频免费播放| 亚洲人成网站777色婷婷| 国产日韩欧美视频在线| 欧美伦理一区二区| 久久久久久久国产| 午夜精品成人在线| 夜色激情一区二区| 欧美黑人国产人伦爽爽爽| 久久国产精品电影| 亚洲欧美中文字幕| 中日韩高清电影网| 亚洲精品少妇网址| 亚洲国产日韩欧美| 在线观看三级视频欧美| 国产亚洲精品激情久久| 国产精品美女主播在线观看纯欲| 欧美精品www| 欧美激情亚洲国产| 你懂的国产精品永久在线| 久久精品国产91精品亚洲| 午夜视黄欧洲亚洲| 午夜免费在线观看精品视频| 亚洲视频电影图片偷拍一区| 9国产精品视频| 日韩亚洲欧美在线观看| 亚洲人成77777在线观看网| 欧美激情导航| 亚洲国产日日夜夜| 欧美激情第10页| 亚洲国产精品久久久久秋霞影院| 欧美成人综合在线| 亚洲第一伊人| 亚洲精品视频在线看| 99在线热播精品免费99热| 一区二区免费在线播放| 在线一区二区三区四区五区| 亚洲一区二区在线看| 欧美一级视频精品观看| 久久久久久久97| 欧美成人官网二区| 欧美日韩国产精品一区| 欧美三级中文字幕在线观看| 国产精品99一区| 国产欧美一区二区三区另类精品| 国产欧美综合在线| 一区二区三区在线视频观看| 亚洲第一精品电影| 日韩性生活视频| 亚洲欧美中文日韩在线| 久久亚裔精品欧美| 亚洲激情一区二区| 亚洲一区二区三区四区视频 | 欧美一区二区三区播放老司机 | 欧美另类69精品久久久久9999| 欧美精品 国产精品|