【发布时间】:2013-05-10 22:04:15
【问题描述】:
我有一个 Linq 查询,其中包含一个列表中的一个列表。我以为我只想拥有第一条记录,所以我将查询的选择部分写成这样:
select new
{
EtchVectors = vio.Shapes.FirstOrDefault().Formatted
}).ToList();
这很好用,它返回第一条记录,并且我别名为“vio”的列表中有一个列表(public List Shapes { get; set; } 并且 Parse 包含 2 个属性,Formatted 和 Original。正如我正在重写如果我摆脱 FirstOrDefault()
,这似乎我无法访问“格式化”这显然返回了 Formatted 和 Original
EtchVectors = vio.Shapes
但是,我显然不能这样做:
EtchVectors = vio.Shapes().Formatted ( Shapes cannot be used like a method)
我应该使用不同的方法还是使用 lambda??
【问题讨论】:
-
您是否需要返回所有形状的格式化属性列表?你可以做
EtchVectors = vio.Shapes.Select(shape=>shape.Formatted).ToList() -
您想调用 FirstOrDefault 一次但返回两个属性:Formatted 和 Original?
-
对不起,我是 AFK ... 下面是我尝试过的,这就是我想要的,thx