我有几个页面,每个页面都有一个名为 Data
的属性。在另一个页面上,我将这样设置此数据:
if (MyPage1 != null)
MyPage1.Data = this.data;
if (MyPage2 != null)
MyPage2.Data = this.data;
if (MyPage3 != null)
MyPage3.Data = this.data;
是否有可能在 MyPage
上使用 null 条件运算符?我在想这样的事情:
MyPage?.Data = this.data;
但是当我这样写的时候,出现如下错误:
The left-hand side of an assignment must be a variable, property or indexer.
我知道这是因为 MyPage
可能为空,左侧不再是变量。
并不是说我不能像我已经拥有的那样使用它,而是我只是想知道是否有可能对此使用 null 条件运算符。
最佳答案
空传播运算符返回一个值。由于您必须在赋值的左侧有一个变量,而不是一个值,因此您不能以这种方式使用它。
当然,您可以使用三元运算符来缩短内容,但另一方面,这并不能真正提高可读性。
Joachim Isaksson 对您的问题的评论显示了一种应该有效的不同方法。
关于c# - 在赋值的左侧使用空条件运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45731552/