.NET基础学习(LINQ)(3)

来源:未知 责任编辑:责任编辑 发表时间:2015-01-01 13:18 点击:

34               join c in studentInCourses on s.StID equals c.StID
35               where c.CourseName == "History"
36               select s.LastName;
37  foreach (var v in query1) Console.Write("{0}\t", v);运行结果:

 \

 

查询主体中的from...let...where片段

可选的from...let...where部分是查询主体的第一部分,可以由任意数量的3个子句来组合--from子句、let子句和where子句。
1、from子句

查询表达式必须从from子句开始,后面跟的是查询主体。主体本身可以从任何数量的其他from子句开始,每一个from子句都指定了一个额外的数据源集合并引入了要在之后运算的迭代变量,所有from子句的语法和含义都是一样的。
示例代码如下:

1  var someInts = from a in Enumerable.Range(1, 5) //必须的第一个from子句
2                 from b in Enumerable.Range(6, 5) //查询主体的第一个子句
3                 where a < 3 && b < 10
4                 select new { a, b, sum = a + b }; //匿名类型对象
5  foreach (var v in someInts) Console.WriteLine(v);消除行号
 2、let子句 www.2cto.com

let子句接受一个表达式的运算并把它赋值给一个需要在其他运算中使用的标示符。
示例代码如下:

1  var someInts = from a in Enumerable.Range(1, 5)
2                 from b in Enumerable.Range(6, 5)
3                 let sum = a + b  //在新的变量中保存结果
4                 where sum == 12
5                 select new { a, b, sum };
6  foreach (var v in someInts) Console.WriteLine(v);运行结果:

 \


 

3、where子句

where子句根据之后的运算来去除不符合指定条件的项。
示例代码如下:

1  var someInts = from a in Enumerable.Range(1, 5)
2                 from b in Enumerable.Range(6, 5)
3                 let sum = a + b 
4                 where sum > 12 //条件一

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET&#160;GridView列表代码示例
  • Asp.net MVC源码分析--Action Filter的链式调用
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1