仅 1 个 Linq 查询如何实现以下目标?是不是更有效率?
var o = new myObject {
Value =
(from value in g
select value.Value).FirstOrDefault(),
Id =
(from value in g
select value.Id).FirstOrDefault(),
... }
仅 1 个 Linq 查询如何实现以下目标?是不是更有效率?
var o = new myObject {
Value =
(from value in g
select value.Value).FirstOrDefault(),
Id =
(from value in g
select value.Id).FirstOrDefault(),
... }
var result = (from value in g
select new
{
Value = value.Value,
ID = value.ID
}).FirstOrDefault();
编辑:(基于已编辑的问题)
在这种情况下,我宁愿先获得该值,然后在我的对象的构造函数中使用它。您的选择可能涉及条件或 where 子句。我认为在 Linq to object 中,性能并不那么重要,或者可能取决于集合大小,但我仍然相信它会很小。最好的方法仍然是先选择项目,然后在对象初始化中使用它。
var result = (from value in g
select new
{
Value = value.Value,
ID = value.ID
}).FirstOrDefault();
var o = new myObject{Value = result.Value, ID = result.ID}