Con años de lenguajes de programación usando los tipos implícitos, sólo se entendía que lenguajes "modernos" como Java o C# obligaran a declarar el tipo de las variables con el motivo de evitar errores de desarrollador en tiempo de programación. Lo cierto es que, en la práctica, en estos lenguajes fuertemente tipificados es necesario el uso regular del moldeado de tipo debido al polimorfismo y el alto grado de ramificación en la herencia de clases.
En C# 3.0, una de las novedades es la declaración de variables con tipo implícito en un ámbito local. Esto se hace con la nueva palabra clave "var" donde antes se declaraba el tipo. El tipo de la variable, lo resuelve el compilador a partir de la primera asignación a esa variable. Por ejemplo:
var numero = 5; // numero será tipada como System.Int32 var fraseBorbon = "Por qué no te callas?" // fraseBorbon será tipado como System.String var pilaEnteros = new Stack<int>();
¿Cuál es la ventaja qué aporta usar tipos implícitos? A primera vista, nos ahorra tener que pensar en los tipos cuando declaramos variables pero, mucho más justificadamente, nos abre la puerta a un tipo nuevo especial: el tipo anónimo.
Los tipo anónimos son otra novedad de la especificación C# 3.0 y permiten declarar objetos con propiedades sin necesidad de tener que definir una nueva clase o estructura.
var vectorFuerza = new { grados = 45, longitud = 0.23 };
Pero, para emocionados del Javascript, hay que destacar que las propiedades serán de sólo lectura y no podremos cambiarlas. De nuevo la pregunta ¿cual es la ventaja? Lo veremos en las nuevas expresiones de consulta LINQ (Language-Integrated Query) que sí son una gran ventaja al aportar, integradas en el propio lenguaje como artificios de primer nivel, operaciones de filtrado, agrupación y clasificación con cláusulas declarativas, al más puro estilo SQL. Como adelanto, un ejemplo:
List<int> puntuaciones = new List<int>() { 84, 23, 76 };
var superiores = from puntos in puntuaciones where puntos > 50 select puntos;
Enviar un comentario nuevo