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