C # Operador de propagação nulo / expressão de acesso condicional e se blocos

O Operador de propagação nulo / expressão de acesso condicional chegando c # -6.0 parece um recurso bastante útil. Mas estou curioso para ajudar a resolver o problema de verificar se um membro filho não é nulo e, em seguida, chamar um método booleano no membro filho dentro de um bloco if:

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

Vaic?.Object?.Any() compilar? Se o operador de propagação causar um curto-circuito (presumo que esse seja o termo certo) para nulo, você teráif (null), que não é válido.

A equipe de C # abordará essa preocupação ou estou perdendo o caso de uso pretendido para o operador de propagação nul

questionAnswers(2)

yourAnswerToTheQuestion