Estaba leyendo sobre las nuevas características de las variables de salida en C # 7 aquí . Tengo dos preguntas:
Dice
También permitimos "descartes" como parámetros de salida, en forma de a
_
, para permitirle ignorar los parámetros que no le interesan:p.GetCoordinates(out var x, out _); // I only care about x
P: Supongo que esto es solo una información y no una característica nueva de C # 7 porque también podemos hacerlo en versiones anteriores a C # 7.0:
var _; if (Int.TryParse(str, out _)) ...
o me estoy perdiendo algo aquí?
Mi código da un error cuando hago lo mencionado en el mismo blog:
~Person() => names.TryRemove(id, out *);
*
no es un identificador válido. ¿Un descuido de Mads Torgersen, supongo?
out _
_
no es una variable, no la declaras y no puedes usarla por su nombre. Enint _
eso hay una variable.