C# (C Sharp)

var en C# – usos y ejemplos

Usos y explicación de var en C#

Ejemplos de var en C#. Cuándo usar, cómo usar y razones para usar.

A partir de la versión 3 de C# se puede usar la palabra reservada var, que me recuerda un poco a Kotlin, Go, y JavaScript.

En este post te voy a mostrar cómo usar var, cuál es su propósito, cuándo usarla y cuándo no.

Uso de var en C#

Usamos var cuando deseamos declarar una variable pero no queremos indicar el tipo de dato, y dejamos que el compilador lo infiera. Algo así como el duck typing.

Ya que declarar así:

int edad = 5;

Es lo mismo que:

var edad = 5;

Veamos el ejemplo. Con var en C# es así:

See the gist on github.

Lo cual puedes probar aqui. Y cuando ponemos el tipo (int), también funciona:

See the gist on github.

Por lo tanto, hablando del lenguaje (y no de los paradigmas o buenas prácticas) es lo mismo declarar con var que con el tipo de dato, ya que el compilador infiere el tipo a partir del valor.

Puedes probar el código aquí.

Restricciones de var

Aunque parezca que gracias a var se pierde el tipado fuerte de C# la realidad es que no, ya que el compilador infiere el tipo, y le asigna el tipo a esa variable pero más tarde ya no se puede cambiar.

Es decir, lo siguiente es erróneo:

var nombre = "Luis";

nombre = 3;

Ya que nombre, aunque fue declarado con var, es un string.

Otra restricción es que cuando usamos var debemos declarar inmediatamente el valor, no podemos dejarla declara así:

var nombre;

¿Cuándo usar var en c#?

Ahora sí dejamos la parte técnica y vamos a los paradigmas. Recomiendo usar var cuando se declare una variable local y simple. Por ejemplo:

var nombre = "Luis";

Y recomiendo evitarlo cuando el tipo no se pueda inferir por el ser humano. Por ejemplo:

var ubicacion = usuario.obtenerUbicacion();

Ahí, aunque estamos obteniendo la ubicación de un usuario, ¿qué tipo de dato estamos recibiendo? ¿Es un objeto de tipo LatitudLongitud? ¿Son las coordenadas como cadena? ¿No es la ubicación GPS?

Para el caso de arriba, suponiendo que es la latitud y longitud de las coordenadas, podríamos hacer esto:

LatitudLongitud ubicacion = usuario.obtenerUbicacion();

Y en el peor de los casos, si queremos usar var forzosamente, al menos deberíamos escribir un nombre descriptivo. Por ejemplo:

var latitudLongitudUsuario = usuario.obtenerUbicacion();

Conclusión

En conclusión usar var cuando sean variables sencillas, fáciles de inferir por el ser humano y no ambiguas.

No te preocupes, usar var no hará que haya errores de programación, pues el compilador seguirá funcionando como siempre.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Compartir
Publicado por
parzibyte

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

11 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 día hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

1 día hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

2 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.