C # 7: Sublinhado (_) e estrela (*) na variável Out
Eu estava lendo sobre novos recursos variáveis em C # 7aqui. Eu tenho duas perguntas:
Diz
Também permitimos "descarte" como parâmetros fora, na forma de um_
, para que você ignore os parâmetros que não lhe interessam:
p.GetCoordinates(out var x, out _); // I only care about x
Q: Eu acho que isso é apenas uma informação e não um novo recurso do C # 7, porque também podemos fazê-lo no pré C # 7.0:
var _;
if (Int.TryParse(str, out _))
...
ou estou faltando alguma coisa aqui?
Meu código dá um erro quando faço como mencionado no mesmo blog:
~Person() => names.TryRemove(id, out *);
*
não é um identificador válido. Uma supervisão de Mads Torgersen, eu acho?