初始化变量的简短版本

Dry*_*ods -3 c#

我想重构以下两行代码:

var myDbObject = service.GetObj(id);
name = myDbObject != null ? myDbObject.Name : "No name";
Run Code Online (Sandbox Code Playgroud)

如何避免使用辅助变量"myDbObject"?

我只用一行代码就可以做到这一点吗?

LINQ还有什么方法可以实现这个目的吗?

我不看的解决方案:

  • 使用返回Name而不是完整对象的服务;
  • 多次调用该服务.

Dav*_*vid 5

var name= service.GetObj(id)==null? "No name": service.GetObj(id).Name;
Run Code Online (Sandbox Code Playgroud)

  • @Dryadwoods - 这是你刚刚介绍的一个新约束,问题中没有提到,所以我打算给这个答案+1.通常最好清楚要应用的所有约束. (4认同)