LINQ查詢(xún)操作剖析
LINQ有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ查詢(xún)操作,包括介紹LINQ查詢(xún)操作都由三個(gè)不同的操作組成等方面。
LINQ,語(yǔ)言級(jí)集成查詢(xún)(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ǔ)法查詢(xún)特性( 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) 。
LINQ查詢(xún)操作都由以下三個(gè)不同的操作組成:
1.獲取數(shù)據(jù)源。
2.創(chuàng)建查詢(xún)。
3.執(zhí)行查詢(xún)。
- // 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);
- }
【編輯推薦】