typestar

Records en C#

Semántica de valor en una línea: impresión, igualdad y copias con un cambio.

var current = new Semver(2, 1);
var next = current with { Minor = 2 };

Console.WriteLine(current);                     // un record se imprime solo
Console.WriteLine(next);
Console.WriteLine(current == new Semver(2, 1)); // y se comparan por valor

record Semver(int Major, int Minor)
{
    public override string ToString() => $"v{Major}.{Minor}";
}

Cómo funciona

  1. record Semver(int Major, int Minor) declara el tipo completo.
  2. with copia el record y cambia solo lo que nombres.
  3. Records con valores iguales son iguales; las clases compararían referencias.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
11
Caracteres a escribir
347
Tokens
73
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 52 segundos.

Escribe este fragmento

Paso 4 de 4 en Clases y records; paso 21 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →

Records en otros lenguajes