Linq 查询对象创建中的 if 语句

if statement in Linq query object creation

我正在使用 Linq 和以下代码创建一个对象:

Model.Select(m => new { id = m.ProcessId, parent = m.ParentProcessId, text = m.Name });

但是,我想为 parent 属性 添加以下 if 语句:

if (m.ParentProcessId == null)
    parent = "#";
else
    parent = m.ParentProcessId

有没有办法在 Linq 查询中执行此操作?如果没有,如何以简单的方式完成?

Documentation

The null-coalescing operator?? returns the value of its left-hand operand if it isn't null; otherwise, it evaluates the right-hand operand and returns its result. The ?? operator doesn't evaluate its right-hand operand if the left-hand operand evaluates to non-null.

您可以尝试以下方法

Model.Select(m => new { 
       id = m.ProcessId, 
       parent = m.ParentProcessId ?? "#",
       text = m.Name });