LINQ学习(四):From子句
說(shuō)明:查詢(xún)表達(dá)式必須以?from?子句開(kāi)頭。?另外,查詢(xún)表達(dá)式還可以包含子查詢(xún),子查詢(xún)也是以?from?子句開(kāi)頭。SQL命令中from指的是數(shù)據(jù)表,LINQ中from?子句中引用的數(shù)據(jù)源的類(lèi)型必須為?IEnumerable、IEnumerable<T>?或一種派生類(lèi)型(如?IQueryable<T>)。
?
1.復(fù)合from子句
說(shuō)明:如果一個(gè)數(shù)據(jù)源里面又包含了一個(gè)或多個(gè)集合列表,那么應(yīng)該使用復(fù)合的from子句來(lái)進(jìn)行查詢(xún)。
查詢(xún)分?jǐn)?shù)小于60分學(xué)生的姓名和分?jǐn)?shù):
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.使用多個(gè) from 子句執(zhí)行聯(lián)接
說(shuō)明:復(fù)合?from?子句用于訪問(wèn)單個(gè)數(shù)據(jù)源中的內(nèi)部集合。?不過(guò),查詢(xún)還可以包含多個(gè)可從獨(dú)立數(shù)據(jù)源生成補(bǔ)充查詢(xún)的?from?子句。
交叉聯(lián)接:
char[] char1 = { 'A', 'B', 'C' };char[] char2 = { 'a', 'b', 'c' };var query =from c1 in char1from c2 in char2select new { c1, c2 };Console.WriteLine("交叉聯(lián)接:");foreach (var result in query){Console.WriteLine("{0}", result);//交叉聯(lián)接://{ 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/
歡迎轉(zhuǎn)載或分享,但請(qǐng)務(wù)必聲明文章出處。如果文章對(duì)您有幫助,希望你能 推薦 或 關(guān)注
轉(zhuǎn)載于:https://www.cnblogs.com/ForEvErNoME/archive/2012/07/24/2605712.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的LINQ学习(四):From子句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言高级技术之--游戏属性修改器(背景
- 下一篇: 在页面制作过程中需要注意事项