Board logo

标题: 关于lambda 及查询表达式的几点困惑 [打印本页]

作者: bool_sir    时间: 2011-3-7 21:27     标题: 关于lambda 及查询表达式的几点困惑

1、lambda表达式 在书中18章中有简单介绍 ,但是在什么场合下使用lambda表达式?
比如定义了(x,y)=>x+y; 这个如何使用?不像函数可以直接调用其函数名+参数。

2、书中关于查询表达式from语句多个并列情况

int[] numbera=new int [] {0,1,2,3,4,5,6,7,8,9};
int[] numberb=new int [] {0,1,2,3,4,5,6,7,8,9};
var query=from a in numbera
               from b in numberb
              select a+b
计算当前元素的和。
但实际在测试中为numbera中每一个元素取出后分别和numberb中每一个元素相加,及0+0,0+1,0+2,......,0+9;1+0,1+1,......,1+9;......

3、书中关于join子句 分为inner连接 ,分组连接,左外部连接
其实际上从语句表面看来没有多大区分,比如inner连接也就是等值连接,分组连接和左外部连接都有into子句,即都是放入一个范围变量g中,所以 我的困惑是 分组连接和左外部连接 其实是在查询的数据源的结果中都是一样的 似乎没有必要分为分组连接 或左外部连接。

以上有不到之处,请老师指正。
作者: dorient    时间: 2011-3-13 22:48

1)list.where(s => s.ID > 0);  ///ID是集合列表list中的元素的一个属性。
表示选择ID属性的值大于的0的元素。
2)你的说法是正确的。
3)inner子句和SQL语句中的INNER JOIN连接相似,左外部连接和SQL语句中的LEFT JOIN相似。




欢迎光临 万卷图书 (http://wanjuanchina.net/) Powered by Discuz! 7.0.0