C# 如何在linq中生成if语句
我有以下声明C# 如何在linq中生成if语句,c#,linq,C#,Linq,我有以下声明 Select(g => new AssembledPartsDTO { .. .. References = g.SelectMany(entry => entry.References).OrderBy(t => t).ToList() .. .. } 如果References.count==0,如何将添加到引用中?使用 References.count>0?引用:新列表(){“?”} 在LINQ表达式中使用a怎么样 你可以这样做 Reference
Select(g => new AssembledPartsDTO
{
..
..
References = g.SelectMany(entry => entry.References).OrderBy(t => t).ToList()
..
..
}
如果References.count==0,如何将添加到引用中?使用
References.count>0?引用:新列表(){“?”}
在LINQ表达式中使用a怎么样
你可以这样做
References = (g.SelectMany(entry => entry.References).Count() == 0)
? g.SelectMany(entry => entry.References).OrderBy(t => t).ToList() : null;
另一种方式:
Select(g =>
{
var obj = new AssembledPartsDTO { References= ... };
if (obj.References.Count == 0)
{
obj.References.Add("??");
}
return obj;
})
对于一个更复杂的逻辑,您可能需要这样做,因为三元运算符(?)不适用。应该注意,这只适用于LINQ to对象。
Select(g =>
{
var obj = new AssembledPartsDTO { References= ... };
if (obj.References.Count == 0)
{
obj.References.Add("??");
}
return obj;
})