LINQ学习(四):From子句
生活随笔
收集整理的這篇文章主要介紹了
LINQ学习(四):From子句
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
說明:查詢表達式必須以?from?子句開頭。?另外,查詢表達式還可以包含子查詢,子查詢也是以?from?子句開頭。SQL命令中from指的是數據表,LINQ中from?子句中引用的數據源的類型必須為?IEnumerable、IEnumerable<T>?或一種派生類型(如?IQueryable<T>)。
?
1.復合from子句
說明:如果一個數據源里面又包含了一個或多個集合列表,那么應該使用復合的from子句來進行查詢。
查詢分數小于60分學生的姓名和分數:
class Student{public string Name { get; set; }public List<int> Scores { get; set; }}static void Main(string[] args){List<Student> students = new List<Student>{new Student {Name="Terry", Scores=new List<int> {97, 72, 81, 60}},new Student {Name="AI", Scores=new List<int> {75, 84, 91, 39}},new Student {Name="Wade", Scores=new List<int> {88, 94, 65, 85}},new Student {Name="Tracy", Scores=new List<int>{97, 89, 85, 82}},new Student {Name="Kobe", Scores=new List<int> {35, 72, 91, 70}} };var query = from student in studentsfrom score in student.Scoreswhere score < 60select new { name = student.Name, score };foreach (var student in query){Console.WriteLine("{0},{1}", student.name, student.score);//AI,39//Kobe,35 }Console.ReadKey();}?
2.使用多個 from 子句執行聯接
說明:復合?from?子句用于訪問單個數據源中的內部集合。?不過,查詢還可以包含多個可從獨立數據源生成補充查詢的?from?子句。
交叉聯接:
char[] char1 = { 'A', 'B', 'C' };char[] char2 = { 'a', 'b', 'c' };var query =from c1 in char1from c2 in char2select new { c1, c2 };Console.WriteLine("交叉聯接:");foreach (var result in query){Console.WriteLine("{0}", result);//交叉聯接://{ c1 = A, c2 = a }//{ c1 = A, c2 = b }//{ c1 = A, c2 = c }//{ c1 = B, c2 = a }//{ c1 = B, c2 = b }//{ c1 = B, c2 = c }//{ c1 = C, c2 = a }//{ c1 = C, c2 = b }//{ c1 = C, c2 = c }}?
??
作者: ForEvErNoME出處: http://www.cnblogs.com/ForEvErNoME/
歡迎轉載或分享,但請務必聲明文章出處。如果文章對您有幫助,希望你能 推薦 或 關注
轉載于:https://www.cnblogs.com/ForEvErNoME/archive/2012/07/24/2605712.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的LINQ学习(四):From子句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言高级技术之--游戏属性修改器(背景
- 下一篇: 在页面制作过程中需要注意事项