Tipos valor frente a referencia; literales; inferencia con var; const/readonly
Aprenda en qué se diferencian los tipos valor de los tipos referencia, cómo funcionan los literales y sufijos numéricos, cuándo usar var y qué función cumplen const y readonly.
Tipos valor frente a referencia; literales; inferencia con var; const/readonly es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 1 de 3. 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 3 lecciones en total.
Por qué son importantes los tipos
Objetivo: comprenda la diferencia entre los tipos por valor y por referencia, así como el comportamiento de las variables, los literales y las constantes en el código cotidiano.
Tipos por valor frente a tipos por referencia
Tipo por valor: copia los datos al asignar (por ejemplo, int, bool, struct). Tipo por referencia: copia una referencia (class, array, string).
- Por valor: cambios locales más seguros
- Por referencia: identidad de objeto compartida
Literales y sufijos
Los literales tienen tipos. Use sufijos para mayor claridad: f (float), m (decimal), L (long).
- 3.14f → float
- 10m → decimal (dinero)
- 123L → long
Inferencia con var
var permite que el compilador infiera el tipo a partir del lado derecho. Úselo cuando el tipo sea evidente; en caso contrario, especifíquelo explícitamente.
const frente a readonly
const: constante en tiempo de compilación; readonly: se establece en el constructor o en la declaración.
- Use const para valores fijos (por ejemplo, Pi)
- Use readonly para valores conocidos durante la ejecución
Tipos en la práctica
Observe en un programa pequeño el comportamiento de los tipos por valor y por referencia, los sufijos numéricos, la inferencia sencilla con var y el uso de const/readonly.
using System;
// Value type (struct) copies by value
public struct PointS
{
public int X;
public int Y;
}
// Reference type (class) copies the reference
public class PointC
{
public int X;
public int Y;
}
// Readonly demo class
public class Config
{
public readonly string Name;
public Config(string name)
{
Name = name; // can set here
}
}
public class Program
{
// Compile-time constant
private const double Pi = 3.14159;
public static void Main(string[] args)
{
// 1) Value vs reference
PointS a = new PointS { X = 1, Y = 2 };
PointS b = a; // copy value
b.X = 99;
Console.WriteLine("Value struct a.X = " + a.X); // 1 (unchanged)
Console.WriteLine("Value struct b.X = " + b.X); // 99
PointC ac = new PointC { X = 1, Y = 2 };
PointC bc = ac; // copy reference
bc.X = 77;
Console.WriteLine("Ref class ac.X = " + ac.X); // 77 (same object)
Console.WriteLine("Ref class bc.X = " + bc.X); // 77
// 2) Literals & suffixes
float f = 3.14f;
decimal price = 10m;
long big = 123L;
Console.WriteLine("f=" + f + " price=" + price + " big=" + big);
// 3) var inference (type is obvious)
var sum = a.X + a.Y; // int
Console.WriteLine("sum=" + sum);
// 4) const vs readonly
Config cfg = new Config("Demo");
Console.WriteLine("Pi=" + Pi + " Name=" + cfg.Name);
}
}
Definición de tipo por valor
Resumen
Resumen: los tipos por valor copian los datos; los tipos por referencia comparten objetos. Use sufijos para los literales numéricos, var cuando resulte claro y elija const o readonly según corresponda.
Aprende C# con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 93
- Lecciones
- 346
Preguntas frecuentes
¿La lección «Tipos valor frente a referencia; literales; inferencia con var; const/readonly» es gratis?
Sí — el texto completo de «Tipos valor frente a referencia; literales; inferencia con var; const/readonly» 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 3 lecciones en total.
¿Qué aprenderé en «Tipos valor frente a referencia; literales; inferencia con var; const/readonly»?
Aprenda en qué se diferencian los tipos valor de los tipos referencia, cómo funcionan los literales y sufijos numéricos, cuándo usar var y qué función cumplen const y readonly. 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 3.
¿Cuánto tiempo toma la lección «Tipos valor frente a referencia; literales; inferencia con var; const/readonly»?
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
- Tipos valor frente a referencia; literales; inferencia con var; const/readonly
- Operadores y expresiones: aritméticos, de comparación y lógicos
- Sufijos en la práctica; conversión explícita frente a conversión; creación de objetos en C# 6