C # Null propagierender Operator / Bedingter Zugriffsausdruck & if blocks

DasNull propagierender Operator / Bedingter Zugriffsausdruck reinkommen c # -6.0 sieht ganz praktisch aus. Aber ich bin neugierig, ob es das Problem lösen kann, zu überprüfen, ob ein untergeordnetes Element nicht null ist, und dann eine boolesche Methode für das untergeordnete Element in einem if-Block aufzurufen:

  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!");
  }

Willec?.Object?.Any() kompilieren? Wenn der Ausbreitungsoperator Kurzschlüsse (ich nehme an, das ist der richtige Begriff) auf Null setzt, haben Sieif (null), was nicht gültig ist.

Wird das C # -Team dieses Problem angehen oder fehlt mir der vorgesehene Anwendungsfall für den Null-Propaging-Operator?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage