<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # NULL 條件運算符(C# 和 Visual Basic) 用于在執行成員訪問 (**?.**) 或索引 (**?[**) 操作之前,測試是否存在 NULL。這些運算符可幫助編寫更少的代碼來處理 null 檢查,尤其是對于下降到數據結構。 [VB](https://msdn.microsoft.com/zh-CN/library/dn986595.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1) ``` int? length = customers?.Length; // null if customers is null Customer first = customers?[0]; // null if customers is null int? count = customers?[0]?.Orders?.Count(); // null if customers, the first customer, or Orders is null ``` 最后一個示例演示 NULL 條件運算符會短路。如果條件成員訪問和索引操作鏈中的某個操作返回 NULL,則該鏈其余部分的執行將停止。表達式中優先級較低的其他操作將繼續。例如,以下的示例中的 E 將始終執行,**??** 和 **==** 操作將執行。 <a>visualbasicANDcsharp</a> ``` A?.B?.C?[0] ?? E A?.B?.C?[0] == E ``` NULL 條件成員訪問的另一個用途是使用非常少的代碼以線程安全的方式調用委托。舊方法需要如下所示的代碼: [VB](https://msdn.microsoft.com/zh-CN/library/dn986595.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-3) ``` var handler = this.PropertyChanged; if (handler != null) handler(…) ``` 新的方法是要簡單得多: <a>visualbasicANDcsharp</a> ``` PropertyChanged?.Invoke(e) ``` 新方法是線程安全的,因為編譯器生成代碼以評估 PropertyChanged(僅一次),從而使結果保持在臨時變量中。 你需要顯式調用 Invoke 方法,因為不存在 NULL 條件委托調用語法 PropertyChanged?(e)。有太多不明確的分析情況來允許它。 ## 語言規范 有關詳細信息,請參閱 [C# 語言規范](https://msdn.microsoft.com/zh-CN/library/ms228593.aspx)。該語言規范是 C# 語法和用法的權威資料。 有關詳細信息,請參閱 [Visual Basic 語言參考](https://msdn.microsoft.com/zh-CN/library/sh9ywfdk.aspx)。 ## 請參閱 [C# 參考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 編程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [Visual Basic 語言參考](https://msdn.microsoft.com/zh-CN/library/sh9ywfdk.aspx) [Visual Basic 編程指南](https://msdn.microsoft.com/zh-CN/library/y4wf33f0.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看