ホームページ > バックエンド開発 > C++ > C#6.0 Null-Conditional Operator(?。)は、ヌル処理をどのように簡素化しますか?

C#6.0 Null-Conditional Operator(?。)は、ヌル処理をどのように簡素化しますか?

Patricia Arquette
リリース: 2025-01-25 15:26:08
オリジナル
635 人が閲覧しました

How Does the C# 6.0 Null-Conditional Operator (?. ) Simplify Null Handling?

c#6.0?..オペレーター:簡略化された空気価値の処理

c#6.0は、空気価値の処理に大きな利便性をもたらしました。この演算子は通常、空の条件付き演算子と呼ばれ、空のオブジェクトの属性または呼び出し方法にアクセスするためのシンプルで安全な方法を提供します。

次のコードフラグメントを見てみましょう。

このオペレーターの実用的な原則を分解しましょう:

<code class="language-csharp">public class A
{
    public string PropertyOfA { get; set; }
}

...

var a = new A();
var foo = "bar";
if (a?.PropertyOfA != foo)
{
    //somecode
}</code>
ログイン後にコピー

最初の操作番号(a)を評価し、空であるかどうかを確認します。 aが空の場合、式全体がnullとして評価され、さらに評価されません。

    Aが空でない場合は、A。Aのメンバーとしての2回目の操作(PropertyOfa)の訪問を引き続き評価します。この例では、Aのプロパティオファプロパティにアクセスします。
  • 式の結果は、nullの値(aが空)またはa.propertyofaの値のいずれかです。
  • 本質的に、運用シンボルは異常な参照異常を防ぐ尺度として機能します。アプリケーションを崩壊させないように、属性にアクセスしたり、空のオブジェクトのメソッドを呼び出すことができます。
この代替文法を考えてみましょう:

この方法は同じ結果に達しましたが、個別の空気値と条件付き割り当てが含まれます。 ?。

さらに、操作記号は式のタイプを変更できます。たとえば、FileInfo.lengthは長い属性です。ただし、それを使用する場合は?
<code class="language-csharp">string bar = (a == null ? null : a.PropertyOfA);
if (bar != foo)
{
    ...
}</code>
ログイン後にコピー

あなたはついに長い式を手に入れましたか?これにより、明示的な真空検査の需要が排除され、コードが簡素化され、可用性が向上します。

以上がC#6.0 Null-Conditional Operator(?。)は、ヌル処理をどのように簡素化しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート