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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...