【问题标题】:Linq query with select needed to get specific properties from a list使用 select 的 Linq 查询需要从列表中获取特定属性
【发布时间】: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

标签: c# linq


【解决方案1】:

我认为您正在寻找投影

EtchVectors = vio.Shapes.Select( s => s.Formatted );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多