日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# Linq查询

發布時間:2025/1/21 C# 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# Linq查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C# Linq查詢

獲取數據源
在 LINQ 查詢中,第一步是指定數據源。 和大多數編程語言相同,在使用 C# 時也必須先聲明變量,然后才能使用它。 在 LINQ 查詢中,先使用 from 子句引入數據源 (customers) 和范圍變量 (cust)。

queryAllCustomers is an IEnumerable<Customer> var queryAllCustomers = from cust in customersselect cust;

`篩選

var queryLondonCustomers = from cust in customerswhere cust.City == "London"select cust;

排序
orderby 子句根據要排序類型的默認比較器,對返回序列中的元素排序

var queryLondonCustomers3 =from cust in customerswhere cust.City == "London"orderby cust.Name ascendingselect cust;

分組
group 子句用于對根據您指定的鍵所獲得的結果進行分組。 例如,可指定按 City 對結果進行分組,使來自 London 或 Paris 的所有客戶位于單獨的組內。 在這種情況下,cust.City 是鍵。

// queryCustomersByCity is an IEnumerable<IGrouping<string, Customer>>var queryCustomersByCity =from cust in customersgroup cust by cust.City;// customerGroup is an IGrouping<string, Customer>foreach (var customerGroup in queryCustomersByCity){Console.WriteLine(customerGroup.Key);foreach (Customer customer in customerGroup){Console.WriteLine(" {0}", customer.Name);}}

使用 group 子句結束查詢時,結果將以列表的形式列出。 列表中的每個元素都是具有 Key 成員的對象,列表中的元素根據該鍵被分組。 在循環訪問生成組序列的查詢時,必須使用嵌套 foreach 循環。 外層循環循環訪問每個組,內層循環循環訪問每個組的成員。
如果必須引用某個組操作的結果,可使用 into 關鍵字創建能被進一步查詢的標識符。 下列查詢僅返回包含兩個以上客戶的組:

// custQuery is an IEnumerable<IGrouping<string, Customer>> var custQuery =from cust in customersgroup cust by cust.City into custGroupwhere custGroup.Count() > 2orderby custGroup.Keyselect custGroup;

聯接
聯接操作在不同序列間創建關聯,這些序列在數據源中未被顯式模塊化。 例如,可通過執行聯接來查找所有位置相同的客戶和分銷商。 在 LINQ 中,join 子句始終作用于對象集合,而非直接作用于數據庫表。

var innerJoinQuery =from cust in customersjoin dist in distributors on cust.City equals dist.Cityselect new { CustomerName = cust.Name, DistributorName = dist.Name };

在 LINQ 中,不必像在 SQL 中那樣頻繁使用 join,因為 LINQ 中的外鍵在對象模型中表示為包含項集合的屬性。 例如 Customer 對象包含 Order 對象的集合。 不必執行聯接,只需使用點表示法訪問訂單:

from order in Customer.Orders...

總結

以上是生活随笔為你收集整理的C# Linq查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。