c# - 仅当对象在一行上不为空时才设置属性
问题描述
我有一个带有一些布尔属性的普通对象,如下所示:
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
解决方案
如果没有 if 语句,您将无法做到这一点。在我看来,你唯一能做的就是
if(obj != null) obj.Prop = true;
在这种情况下,您可以将其放在一行中,但不能使用三元运算符。
推荐阅读
- forms - Typ3 v8 表单检查值到打字稿和 yaml
- c# - 如何每 5 秒刷新一次图像?
- javascript - 计算字符串过去某个字符(JS)中的字符
- geode - 无法从 Geode 中的客户端动态创建区域
- java - Spring Boot 中的 Java-SOAP 请求正文元素顺序问题
- php - 执行 PHPUnit 0 测试的 Phing
- java - JMX 客户端重用已经打开的套接字
- javascript - 使用 vue.js 在 v-tab 中使用变量更改标题
- r - R中具有大量数字的强行为
- extjs6.2 - extjs6.2.0 draw sprite scrollable 不起作用