【发布时间】:2021-02-25 10:44:00
【问题描述】:
我有一个带有一些布尔属性的普通对象,如下所示:
public class Object
{
public bool Prop { get; set; }
}
我想做这样的事情:
Object obj;
if(obj != null) { obj.Prop = true; }
但是由于 stylecop 规则,如果所有内容都在一行中,我不能拥有它,我必须将它拆分为多行,这对我来说变得越来越不可读。我尝试了obj?.Prop = true,但它给了我一个The left-hand side of an assignment cannot contain a null propagating operator 错误,我理解。我可以使用其他任何运算符吗?我不是真正的 c# 专家,所以我不确定我应该使用哪一个。
如果您需要,这里是一个用于测试的快速游乐场:https://ideone.com/LfjKFD
【问题讨论】:
-
obj = obj != null ? obj.prop = true : null
-
如果您的可读性越来越差,也许您需要与您的团队讨论它。因为在我的看来你的版本可读性较差,而且它真正基于意见的辩论。
-
为什么不在这里使用object initializer?
标签: c#