C# Academy · Lección

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.

Lección 1 de 38 pasos

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

Comprobación rápida: ¿qué afirmación describe mejor un 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.

Gratis para empezar

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

  1. Tipos valor frente a referencia; literales; inferencia con var; const/readonly
  2. Operadores y expresiones: aritméticos, de comparación y lógicos
  3. Sufijos en la práctica; conversión explícita frente a conversión; creación de objetos en C# 6
← Volver a C# Academy