LINQ的两种写法有什么区别吗?
一直很疑惑的两种写法,
两种写法相同效果的例子
SampleData.Books// 查询操作符 from book in SampleData.Books //查询表达式
.Where(book => book.Title == "Funny Stories") where book.Title == "Funny Stories"
.OrderBy(book => book.Title) orderby book.Title
.Select(book => new {book.Title, book.Price}); select new {book.Title, book.Price};
我经常用“查询操作符”,因为我觉得那更接近于c#编程,容易理解。
你们呢?
请问它们两种的区别除了写法不同还有什么区别,效率上有什么不同?
谢谢呀,
------解决方案--------------------“Lambda 表达式”是一个匿名函数,Lambda 运算符 =>
LINQ
编译器都是一样的认,也没有性能区别
------解决方案--------------------
+1
------解决方案--------------------都一样的,我觉得表达式更贴近人的思维
------解决方案--------------------都一样的
------解决方案--------------------一种是Lambda表达式
一种是标准查询表达式
最后编译成都会转化成相同的SQL语句
------解决方案--------------------
是的。
------解决方案--------------------两个当然是一样的。
linq的操作符、linq to sql、linq to xml都是 对linq的扩展,你可以自定义Provider。
利用 表达式树 实现自己的功能。
------解决方案--------------------