C#6中为空的条件

前端之家收集整理的这篇文章主要介绍了C#6中为空的条件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下代码行:
Project = x.Project == null ? null : new Model { ... }

有没有办法,在C#6,使这个代码更短?

我一直在看几个?例子,但是在这种情况下,我找不到更短的解决方案…

解决方法

你的代码尽可能短.但是,如果类项目基于具有公共模型ToModel(…){}方法,您可以做
Project = x.Project?.ToModel(...);

更新:作为JonSkeet just mentioned,您也可以使.ToModel(扩展方法.

public static class ExtensionMethods
{
    public static Model ToModel(this Project p,...)
    {
        return new Model { ... };
    }
}

语法仍然是

Project = x.Project?.ToModel(...);

猜你在找的C&C++相关文章