我有以下代码行:
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(...);