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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LinQ—高级查询方法

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LinQ—高级查询方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 對于高級查詢方法,主要分為五大類,詳情下圖:


【Distinct】:? 避免重復值出現,也就是如果有兩個數字2,那么使用集合類可以單一出現

首先我們來寫一個數組,方便舉例:

// 數組數據personsint[ ] Arr = { 25, 36, 25, 2, 3, 9, 55, 581, 21, 15, 44, 78, 96 };
  • 聚合類

Console.WriteLine("arr的最大值:" + Arr.Max());Console.WriteLine("arr的最小值:" + Arr.Min());Console.WriteLine("arr的平均值:" + Arr.Average());Console.WriteLine("arr的數組元素個數:" + Arr.Count());Console.WriteLine("arr的總和:" + Arr.Sum());簡單理解,就是使用的數組Arr的屬性來顯示想要的效果:

  • 排序類,關鍵字ThenBy

var result = Arr.OrderBy(p => p.ToString().Substring(0, 1)); //按照首個數字從小到大排序var result = Arr.OrderBy(p => p.ToString().Substring(0, 1)).ThenBy(p => p); //二次排序//降序排列var t = Arr.OrderBy(p => p.ToString().Substring(0, 1)); var result = from p in t orderby p descending select p;? 三種方法,第一種顯示效果就是按照第一個數字來排序的,不過此方法一般不符合要求;二則在第一次排序的基礎上再次按照從小到大排序;三則是降序排列。

第二種的顯示效果:

  • 分區類:

? 一個take一個skip,skip則跳過之意,take則執行

var result = Arr.Skip(2).Take(3); //跳過兩個再取三個的值 var result = Arr.Skip(3); //跳過三個的值,取余后的var result = Arr.SkipWhile(p => p >1); //取出剩余的大于或者等于P之后的所有值,如p>1,所有值都滿足,所以輸出值為0var result = Arr.TakeWhile(p => p > 4); //取出第一次符合條件的所有值,當遇見不符合條件的情況則停止執行? 在上數組中,由于每個值都大于1,所以第三個輸出的值為空;最后一個到2的時候則不滿足條件,停止執行,所以輸出結果:

  • 生成類

? 對于最后講述的生成類,它并非之前的擴展方法,而是普通的靜態方法

? Range只能產生整數序列,Repeat只能產生泛型序列

舉例:

var result = System.Linq.Enumerable.Repeat(DateTime.Now, 10); //顯示當前日期,和次數? 五大類主要包括了LinqQ的各種常用的查詢方法,其他的繼續在實踐中學習。

轉載于:https://www.cnblogs.com/huohuoL/p/10545545.html

總結

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

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