【发布时间】:2013-06-24 04:37:16
【问题描述】:
使用查询表达式而不是 lambda 表达式有什么意义?它不仅更慢而且更冗长(see here):
示例(来自上面的链接):
QE: var products = from p in northwind.Products where p.Category.CategoryName == "Beverages" select p;
LE: var products = northwind.Products.Where(p => p.Category.CategoryName == "Beverages");
结果(来自上面的链接):
QE: 00:00:00.0019557, avg. 00:00:00.0004552
LE: 00:00:00.0000574, avg. 00:00:00.0000133
仅仅为了可读性而将代码慢 34 倍真的值得吗?
【问题讨论】:
-
我认为这可能已经在this question 中讨论过,但还没有真正的结论。
-
如果我只能告诉人们关于 LINQ 的一件事,那就是:查询表达式的结果是 查询。这不是执行查询的结果。您会发现写问题比回答问题快得多,这并不奇怪。
标签: c# performance linq lambda query-expressions