<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
獲取資料來源:
var queryAllCustomers = from cust in Customers select cust;
分析:
查詢表示式必須以from子句開頭
例子中cust是範圍變數,範圍變數類似於foreach迴圈中的迭代變數,但在查詢表示式中,實際上不發生迭代。執行查詢時,範圍變數將用作對Customers中的每個後續元素的參照。因為編譯器可以推斷cust的型別,所以不必顯示指定此型別。
Customers是資料來源,實現了IEnumerable或IEnumerable(T)或其派生介面的
查詢出成績有90分以上的學生,得到他們的名字和成績
//資料來源 IList<Student> students = new List<Student> { new Student{ Name="Kevin", Score=new List<int>{89,93,88,78}}, new Student{ Name="Jackie",Score=new List<int>{92,87,83,91}}, new Student{ Name="Helen",Score=new List<int>{53,76,72,62}} }; //所有的Linq查詢操作都由以下三個不同的操作組成: //1.獲得資料來源 //2.建立查詢 //3.執行查詢 //使用複合from子句查詢命令 var getStudent = from student in students from score in student.Score where score > 90 select new { Name = student.Name, Score = score }; foreach (var st in getStudent) { Console.WriteLine("NAME:{0},SCORE:{1}",st.Name,st.Score); }
分析:
我們可以看到學生物件中有個Score屬性,Score屬性本身就是List集合,這時候我們就要用到複合from子句進行查詢了。首先遍歷學生物件集合中的每個學生物件,然後在用另一個from子句,對每個學生物件中的Score屬性進行遍歷,篩選出含有90分以上的學生資訊進行返回。
group子句返回一個IGrouping(T Key,T element)物件序列,編譯時,group子句被轉換成對GroupBy方法的呼叫。
根據首字母分組,並列印到控制檯
//資料來源 string[] fruits = { "apple", "banana", "peach", "orange", "melon", "lemon" }; //分組查詢的查詢語句 var query = from f in fruits group f by f[0]; //執行查詢 foreach (var letters in query) { Console.WriteLine("words that start with letter:" + letters.Key); foreach (var word in letters) { Console.WriteLine(word); } }
分析:
首先遍歷字串陣列中的每個字串,然後根據每個字串的首字母進行分組,返回結果.
var query = from f in fruits group f by f[0] into g where g.Key == 'p' || g.Key == 'b' select g;
分析:
如果您想要對每個組執行附加查詢操作,則可以使用into上下文關鍵字指定一個臨時識別符號。使用into時,必須繼續編寫該查詢,並最終用一個select語句或另一個group子句結束該查詢。
string[] strs = { "胡廣成", "張國榮", "劉德華", "故國冰封", "萬里雪飄", "AAA", "胡翰軒", "張傑" }; var list5 = strs //.Where(a => a.Length == 3) .Select(item => item) .GroupBy(item => item.Length);//分組 分組依據是字串的長度 foreach (var item in list5) { Console.WriteLine("----------------"); Console.WriteLine($"分組欄位是{item.Key}"); //item.Key是分組依據 顯示分組欄位 foreach (var items in item)//內層迴圈遍歷分組項 { Console.WriteLine(items); } }
分析:
按照名字的長度進行分組顯示。
GroupBy(x => new { x.a , x.b, x.c }).Select( x=> ( new Class名 { a=x.Key.a , b=x.Key.b , c = x.Key.c } ))
到此這篇關於LINQ使用From和GroupBy子句的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45