開発中に、私は、Microsoftの公式ドキュメントの特別な調査の後、理解できないから始めて、次の特定のコンテンツをアクセスのヌル条件の1種類の文言のメンバーに会いました:
アクセスの三つの形式の三つのメンバー
(1)XY:メンバアクセス。
(2)X-.Y? :ヌルメンバアクセス条件。 計算結果の左のオペランドは場合 null
返されます null
。
(3)X [Y]? :配列要素のヌル状態またはタイプのアクセスを索引付け。 計算結果の左のオペランドは場合 null
返されます null
。
ここで、Iは、第二及び第三に導入X・YとX [Y]構文:?? ヌル条件演算子はC#6で提供され、以降、場合にのみ、非ヌル演算結果の計算された数場合、アクセス部材ヌル条件演算子まで、 ?.
または要素アクセス ?[]
動作がそのオペランドに適用されます。 オペランドの計算結果ならば null
、その結果はオペレータに適用されます null
。 メンバアクセス演算子のためのヌル条件 ?.
もエルビスオペレータとして知られています。もっと
具体的な例:
ConsoleApp_Test名前空間 { デリゲートNumChange整数(N-INT); //デリゲート定義 クラスプログラム { 静的int型NUM = 10; 公共静的INT AddNum(N-int)を { NUM = N +; ; NUM戻り } 静的な無効メイン(文字列[]引数を) { //デリゲートがnull NumChange NC =新新NumChange(AddNum); NC = NULL; ?結果int型= NC .Invoke(1);? //デリゲートがnullでない NumChange NC1 =新新NumChange(AddNum); int型?結果1 = NC1 .Invoke(1);? //出力 Console.WriteLineを(String.Formatの( "最初の結果:{0}、第2の結果:{} 1。"、結果、結果1)); Console.ReadKey(); } } }
概要:ヌル条件演算子はC#6で提供され、後に、主にスレッドの安全性を確保するために、空の判断の委員会で使用されます。
そして、の共有コンテンツという、あなたを助けるために願っています!