日期:2014-05-20  浏览次数:21227 次

什么时候使用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