什么时候使用linq语句,什么时候使用lambda表达式?

yasire 2009-12-29 09:46:54
查询Student表中的所有记录的Sname、Ssex和Class列。

select sname,ssex,class from student
Linq:
from s in Students
select new {
s.SNAME,
s.SSEX,
s.CLASS
}
Lambda:
Students.Select( s => new {
SNAME = s.SNAME,SSEX = s.SSEX,CLASS = s.CLASS
})

例如上面的两个例子,两种方式都可以达到效果。
我想问下在实际开发中,有大量复杂的关联查询等操作,你们是使用linq还是lambda表达式?
...全文
641 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
什么时候用加法,什么时候用减法?

大多数时候,先别问这个问题。
zhangfujia816 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liu2835993 的回复:]
Lambda表达式的增强在于“语义”二字。 可读性 强一些吧。

再就是 Lambda表达式 不仅用于 linq中,使用场景很广滴
[/Quote]

Lambda表达式 没有linq的可读性强
yilinkit 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yasire 的回复:]
引用 9 楼 wuyq11 的回复:
linq
从Delegate 到Lambda 到LINQ


大哥,你说的是啥?
[/Quote]
大哥说的是微软的LINQ技术发展路线,补充一下:
Delegate->匿名方法->扩展方法->Lambda表达式->LINQ
加油馒头 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wuyq11 的回复:]
linq
从Delegate 到Lambda 到LINQ

[/Quote]

我记得 LINQ 是 Lambda 更高级别的封装,你去看IL代码就会发现他们编译的代码是一样的
yasire 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wuyq11 的回复:]
linq
从Delegate 到Lambda 到LINQ

[/Quote]
大哥,你说的是啥?
showlin 2009-12-30
  • 打赏
  • 举报
回复
CLR不认识Linq查询语句的,最终结果都是翻译成使用Lamada表达式的查询方法
不过查询语句的可读性要好,用的时候应该是混合使用居多,因为有的查询方法没有语句对应的
例如
.Count()
HDNGO 2009-12-30
  • 打赏
  • 举报
回复
语法糖罢了。。。
  • 打赏
  • 举报
回复
从高手哪里学到三元运算符可以构造动态的LINQ语句,用起来很方便的
liu2835993 2009-12-29
  • 打赏
  • 举报
回复
Lambda表达式的增强在于“语义”二字。 可读性 强一些吧。

再就是 Lambda表达式 不仅用于 linq中,使用场景很广滴
steven_cxw 2009-12-29
  • 打赏
  • 举报
回复
Lambda没了解过,期待高手!
huming_h 2009-12-29
  • 打赏
  • 举报
回复
没什么区别,个人喜好。
wuyq11 2009-12-29
  • 打赏
  • 举报
回复
linq
从Delegate 到Lambda 到LINQ
wjq 2009-12-29
  • 打赏
  • 举报
回复
无所谓……真的无所谓……我觉得差别比for和foreach还小~
yilinkit 2009-12-29
  • 打赏
  • 举报
回复
话说两者编译以后是一样的哇
wanghui0380 2009-12-29
  • 打赏
  • 举报
回复
无所谓,个人风格,没必要分的很清楚

编译器都是一样的认,也没有性能区别

就可和3元运算符一个道理,谁规定了那种情况下一定要用3元运算符,或一定不要不3元运算符了
hitlcyu19 2009-12-29
  • 打赏
  • 举报
回复
yasire 2009-12-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liu2835993 的回复:]
Lambda表达式的增强在于“语义”二字。 可读性 强一些吧。

再就是 Lambda表达式 不仅用于 linq中,使用场景很广滴
[/Quote]

Lambda表达式还能用于其他什么地方啊?

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧