C# 7.0 – Specification – Discards
Continuando con la especificación de C# 7.0, otra de las nuevas características añadidas al lenguaje es lo que en inglés se denomina como Discards, lo que en castellano podríamos definir como «Descartes«.
Esta característica tiene como objetivo ignorar los valores devueltos por un método.
Aunque pueda parecer extraño, a veces puede resultar útil esta característica, sobre todo cuando trabajamos con argumentos de tipo out.
Discards son variables locales que podemos asignar, pero que no podemos leer.
Es decir, son variables locales de sólo escritura, que no tienen nombre y que son representadas con un caracter de subrayado _.
El caracter de subrayado _ actúa como una palabra o caracter reservado de tipo contextual, similar a var, con la salvedad (como decía antes) de no poder ser accedida para su lectura.
Un ejemplo básico de esta característica de cómo se haría sin Discards y con Discards, quedaría de la siguiente forma:
private static void Discards() { // Traditional use (without Discards) bool parsedValue; if (bool.TryParse("TRUE", out parsedValue)) { Console.WriteLine($"{parsedValue} without Discards"); } // Using Discards if (bool.TryParse("TRUE", out bool _)) { Console.WriteLine("True using Discards"); } }
¡Happy Coding!
2 Responsesso far
Hey! Los fragmentos de código no se pueden ver en un browser de dispositivo móvil. No se puede hacer scroll horizontal.
Hola Gerardo.
La verdad es que no me he dado cuenta ya que lo suelo ver en la tableta o en el PC.
Gracias por el apunte.
Trataré de revisarlo y ver si puedo encontrar alguna solución.