Linq查詢表達式簡單概述
在向大家詳細介紹Linq查詢表達式之前,首先讓大家了解下什么是Linq查詢表達式,然后全面介紹Linq查詢表達式。
Linq查詢表達式
于是,語言設計團隊設計了一種與 SQL 更為相近的語法,稱為Linq查詢表達式。例如,針對我們的示例的Linq查詢表達式可如下所示:
- var locals = from c in customers
- where c.ZipCode == 91822
- select new { FullName = c.FirstName + “ “ +
- c.LastName, HomeAddress = c.Address };
Linq查詢表達式是基于上述語言功能構建而成。它們在語法上,完全轉換為我們已經看到的基礎語法。例如,上述查詢可直接轉換為:
- var locals = customers.Where(c => c.ZipCode == 91822).Select(c => new
- {
- FullName = c.FirstName + “ " +c.LastName, HomeAddress = c.Address });
Linq查詢表達式支持許多不同的“子句”,如 from、where、select、orderby、group by、let 和 join。這些子句先轉換為對等的運算符調用,后者進而通過擴展方法實現。如果查詢語法不支持必要運算符的子句,則查詢子句和實現運算符的擴展方法之間的緊密關系很便于將兩者結合。例如:
- var locals = (from c in customers where c.ZipCode == 91822 select new {
FullName = c.FirstName + “ " + c.LastName, HomeAddress = c.Address}) .Count();
通過該種方法,我們已經設法在結束時達到了開始時的目標(我對這一點始終覺得非常滿意)。下一版本的 C# 的語法歷經數年時間的發展,嘗試了許多新的語言功能,才最終到達近乎于 2004 年冬提議的原始語法的境界。Linq查詢表達式的加入以 C# 即將發布的版本的其他語言功能為基礎,并促使許多查詢情況更便于具有 SQL 背景的開發人員閱讀和理解。
【編輯推薦】

















