我有幾個頁面,每個頁面都有一個名爲Data
的屬性。在另一頁我設置這個數據是這樣的:在任務的左側使用空條件運算符
if (MyPage1 != null)
MyPage1.Data = this.data;
if (MyPage2 != null)
MyPage2.Data = this.data;
if (MyPage3 != null)
MyPage3.Data = this.data;
是否有可能使用空條件操作上MyPage
?我想的是這樣的:
MyPage?.Data = this.data;
但是,當我把它寫這樣的,我得到以下錯誤:
The left-hand side of an assignment must be a variable, property or indexer.
我知道這是因爲MyPage
可能是零和左手方面不會再是變數。
這不是我不能像我已經使用它,但我只是想知道是否有任何可能使用這個空條件運算符。
您應該能夠創建一個'SetData'方法並執行'MyPage1?.SetData(this.data);' –
可能的重複[Why C#6。0在使用Null傳播運算符時不允許設置非空的可空結構的屬性?](http://stackoverflow.com/questions/31035022/why-c-sharp-6-0-doesnt-let-to -set-properties-of-a-non-null-nullable-struct-when) –
空傳播/條件運算符用於訪問屬性,不設置它們。因此你不能使用它。 –