C# Null Vermehrung operator / Conditional-access-Ausdruck & wenn Blöcke

Den Null Vermehrung operator /Conditional-access-Ausdruck coming in sieht aus wie ein Recht praktisches feature. Aber ich bin mal gespannt, ob es wird helfen, lösen das problem der überprüfung, ob ein untergeordnetes Element, das nicht null ist und dann den Aufruf ein Boolean-Methode auf, sagte Kind Mitglied innerhalb von if-block:

  public class Container<int>{
       IEnumerable<int> Objects {get;set;}
  }

  public Container BuildContainer()
  { 
      var c = new Container();

      if (/* Some Random Condition */)
         c.Objects = new List<int>{1,2,4};
  }

  public void Test()
  {
      var c = BuildContainer();

      //Old way
      if ( null != c && null != c.Objects && c.Objects.Any())
         Console.Write("Container has items!");


      //C# 6 way?
      if (c?.Object?.Any())
          Console.Write("Container has items!");
  }

Wird c?.Object?.Any() kompilieren? Wenn die Vermehrung Betreiber Kurzschlüsse (ich nehme an, dass ist der richtige Begriff) auf null, dann müssen Sie if (null)die nicht gültig ist.

Wird das C# - team mit diesem Anliegen befassen oder bin ich fehlt der Verwendungszweck Falle der null-Vermehrungs-Betreiber?

InformationsquelleAutor der Frage Philip Pittle | 2014-09-04

Schreibe einen Kommentar