什么时候使用linq语句,什么时候使用lambda表达式?
查询Student表中的所有记录的Sname、Ssex和Class列。
C# code
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表达式?
------解决方案-------------------- 没什么区别,个人喜好。
------解决方案-------------------- Lambda没了解过,期待高手!
------解决方案-------------------- Lambda表达式的增强在于“语义”二字。 可读性 强一些吧。
再就是 Lambda表达式 不仅用于 linq中,使用场景很广滴
------解决方案-------------------- http://www.cnblogs.com/WYB/archive/2008/07/02/1233850.html
看看这个吧
------解决方案-------------------- 无所谓,个人风格,没必要分的很清楚
编译器都是一样的认,也没有性能区别
就可和3元运算符一个道理,谁规定了那种情况下一定要用3元运算符,或一定不要不3元运算符了
------解决方案-------------------- 话说两者编译以后是一样的哇
------解决方案-------------------- 无所谓……真的无所谓……我觉得差别比for和foreach还小~
------解决方案-------------------- linq
从Delegate 到Lambda 到LINQ
------解决方案-------------------- 从高手哪里学到三元运算符可以构造动态的LINQ语句,用起来很方便的
------解决方案-------------------- 语法糖罢了。。。
------解决方案-------------------- CLR不认识Linq查询语句的,最终结果都是翻译成使用Lamada表达式的查询方法
不过查询语句的可读性要好,用的时候应该是混合使用居多,因为有的查询方法没有语句对应的
例如
.Count()
------解决方案-------------------- 探讨 Lambda表达式的增强在于“语义”二字。 可读性 强一些吧。 再就是 Lambda表达式 不仅用于 linq中,使用场景很广滴
------解决方案-------------------- 什么时候用加法,什么时候用减法?
大多数时候,先别问这个问题。
------解决方案-------------------- 探讨 linq 从Delegate 到Lambda 到LINQ