Inferencia de tipos de variables locales con var
Utilice var cuando el tipo sea evidente.
Inferencia de tipos de variables locales con var es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.
¿Qué es var?
var permite que el compilador infiera el tipo de una variable local a partir del inicializador. La variable sigue teniendo un tipo estático y fuertemente tipado en tiempo de compilación.
using System;
class Program {
static void Main() {
var count = 10;
Console.WriteLine(count);
}
}var no es dynamic
var se resuelve en tiempo de compilación. var x = 10 es exactamente un int y después no puede contener una cadena.
using System;
class Program {
static void Main() {
var name = "Ada";
Console.WriteLine(name.GetType().Name);
}
}Inferencia a partir de literales
El compilador lee el literal para elegir el tipo: 1 es int, 1.5 es double y "hi" es string.
using System;
class Program {
static void Main() {
var a = 1;
var b = 1.5;
var c = "hi";
Console.WriteLine(a.GetType().Name + " " + b.GetType().Name + " " + c.GetType().Name);
}
}El inicializador es obligatorio
Como el tipo procede del inicializador, las variables var deben recibir un valor al declararse.
using System;
class Program {
static void Main() {
var total = 0;
for (int i = 1; i <= 4; i++) total += i;
Console.WriteLine(total);
}
}var con tipos evidentes
var resulta especialmente útil cuando el lado derecho ya indica el tipo, como en una llamada a un constructor. Evita repetir información.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var list = new List<int> { 1, 2, 3 };
Console.WriteLine(list.Count);
}
}var con resultados de métodos
Puede usar var para valores devueltos cuando el nombre del método deja claro cuál es el tipo.
using System;
class Program {
static int Square(int n) { return n * n; }
static void Main() {
var result = Square(6);
Console.WriteLine(result);
}
}var en foreach
var resulta práctico en bucles foreach sobre colecciones cuyos tipos de elemento se conocen.
using System;
class Program {
static void Main() {
var names = new[] { "Sam", "Lee" };
foreach (var n in names)
Console.WriteLine(n);
}
}Matrices inferidas
Una matriz con tipo implícito new[] { ... } infiere el tipo de sus elementos a partir de los valores.
using System;
class Program {
static void Main() {
var nums = new[] { 10, 20, 30 };
Console.WriteLine(nums.Length);
}
}var sigue siendo seguro en cuanto a tipos
Como el tipo es fijo, asignar después un tipo incorrecto provoca un error de compilación, igual que en una declaración explícita.
using System;
class Program {
static void Main() {
var x = 5;
x = 10;
Console.WriteLine(x);
}
}var y los tipos anónimos
var es obligatorio para los tipos anónimos porque no tienen un nombre que pueda escribir.
using System;
class Program {
static void Main() {
var point = new { X = 3, Y = 4 };
Console.WriteLine(point.X + ", " + point.Y);
}
}Ventaja de legibilidad
Si se usa correctamente, var reduce el ruido y mantiene el código alineado, especialmente con nombres de tipos genéricos largos.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var scores = new Dictionary<string, int> { ["Ann"] = 90 };
Console.WriteLine(scores["Ann"]);
}
}Comprobación rápida
Compruebe su comprensión de var.
Resumen
var indica al compilador que infiera el tipo de una variable local a partir de su inicializador, por lo que la variable sigue teniendo un tipo estático y fijo en tiempo de compilación, a diferencia de dynamic.
Requiere un inicializador, elimina nombres de tipos redundantes y es obligatorio para los tipos anónimos. Mejora la legibilidad cuando el tipo ya es evidente.
Preguntas frecuentes
¿La lección «Inferencia de tipos de variables locales con var» es gratis?
Sí — el texto completo de «Inferencia de tipos de variables locales con var» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Inferencia de tipos de variables locales con var»?
Utilice var cuando el tipo sea evidente. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Inferencia de tipos de variables locales con var»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Inferencia de tipos de variables locales con var
- Cuándo evitar var
- El tipo dynamic
- Expresiones new con tipo de destino