LINQ查詢操作剖析
LINQ有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ查詢操作,包括介紹LINQ查詢操作都由三個(gè)不同的操作組成等方面。
LINQ,語言級集成查詢(Language INtegrated Query)
經(jīng)過了最近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)同像類(classes)、對象(objects)、方法(methods)這樣的語言特性??疾飕F(xiàn)在和下一代的技術(shù),一個(gè)新的編程技術(shù)的重大挑戰(zhàn)開始呈現(xiàn)出來,即面向?qū)ο蠹夹g(shù)誕生以來并沒有解決降低訪問和整合信息數(shù)據(jù)( accessing and integrating information )的復(fù)雜度的問題。其中兩個(gè)最主要訪問的數(shù)據(jù)源與數(shù)據(jù)庫( database )和 XML 相關(guān)。
LINQ 提供了一條更常規(guī)的途徑即給 .Net Framework 添加一些可以應(yīng)用于所有信息源( all sources of information )的具有多種用途( general-purpose )的語法查詢特性( query facilities ),這是比向開發(fā)語言和運(yùn)行時(shí)( runtime )添加一些關(guān)系數(shù)據(jù)( relational )特性或者類似 XML 特性( XML-specific )更好的方式。這些語法特性就叫做 .NET Language Integrated Query (LINQ) 。
LINQ查詢操作都由以下三個(gè)不同的操作組成:
1.獲取數(shù)據(jù)源。
2.創(chuàng)建查詢。
3.執(zhí)行查詢。
- // The Three Parts of a LINQ Query:
- // 1. Data source.
- int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
- // 2. Query creation.
- // numQuery is an IEnumerable<int>
- var numQuery =
- from num in numbers
- where (num % 2) == 0
- select num;
- // 3. Query execution.
- foreach (int num in numQuery)
- {
- Console.Write("{0,1} ", num);
- }
【編輯推薦】