如果您有一个使用 WHERE 子句的 Linq 语句,例如:
var result = someCollection.Where(x => x.value > 5).Select(x => x);
SELECT 是必需的还是多余的?如果我不尝试获取对象属性,那么我似乎可以安全地省略 SELECT,但不确定这是否正确......
最佳答案
在您的情况下不,这不是必需的,因为您正在选择对象。所以你可以:
var result = someCollection.Where(x => x.value > 5);
就更好的实践而言,我会删除多余的代码。
但是,如果您要选择特定属性,那么这可能很有用,例如:
var result = someCollection.Where(x => x.value > 5)
.Select(x=> x.SomeSpecificProperty);
还要添加一件事,对于查询表达式,您将需要选择。
var result = from x in someCollection
where x.Value > 5
select x;
但在编译时,上述查询表达式将转换为方法表达式,没有Select
。
关于c# - 在 Linq 中,使用 WHERE 时是否需要 SELECT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31299943/