C# 6.0?
C# 6.0 eingeführt? Dieser Bediener wird normalerweise als leerer bedingter Bediener bezeichnet, der eine einfache und sichere Möglichkeit bietet, auf die Attribute oder aufgerufenen Methoden des leeren Objekts zuzugreifen. Schauen wir uns das folgende Codefragment an:
Lassen Sie uns das Arbeitsprinzip dieses Bedieners aufschlüsseln:
<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>
Wenn a nicht leer ist, bewerten Sie den Besuch der zweiten Operation (PropertyOFA) als Mitglied von A. In diesem Beispiel greift es auf die Eigenschaft von A von A zuzugreifen.
Obwohl diese Methode das gleiche Ergebnis erzielt hat, beinhaltet sie separate Luftwerte und bedingte Zuordnungen. ?
Zusätzlich kann das Operationssymbol den Expressionstyp ändern. Beispielsweise ist FileInfo.length ein langes Attribut. Wenn Sie es jedoch verwenden?
<code class="language-csharp">string bar = (a == null ? null : a.PropertyOfA); if (bar != foo) { ... }</code>
Sie haben endlich einen langen Ausdruck? Dadurch wird die Nachfrage nach explizite Vakuuminspektion beseitigt, vereinfacht Ihren Code und verbessert die Verfügbarkeit.
Das obige ist der detaillierte Inhalt vonWie vereinfacht der C# 6.0 Null-Bedingungsoperator (?. ) die Nullbehandlung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!