4

我有以下声明

Select(g => new AssembledPartsDTO
{
..
..
    References = g.SelectMany(entry => entry.References).OrderBy(t => t).ToList()
..
..
}

if References.count == 0 than Add("??")我该如何添加References

4

3 回答 3

4

使用?: 运算符

References.count > 0 ? References : new List<string>(){"??"}

那个怎么样

于 2013-05-29T10:23:46.657 回答
2

在 LINQ 表达式中使用三元运算符。

你可以做这样的事情;

References = (g.SelectMany(entry => entry.References).Count() == 0)
   ? g.SelectMany(entry => entry.References).OrderBy(t => t).ToList() : null;
于 2013-05-29T10:25:50.910 回答
2

另一种方式:

Select(g => 
{
   var obj = new AssembledPartsDTO { References= ... };
   if (obj.References.Count == 0)
   {  
      obj.References.Add("??");
   }

   return obj;
})

对于更复杂的逻辑,您可能需要它,其中三元运算符 ( ? ) 不适用。

于 2013-05-29T10:27:28.457 回答