C# Record (Cómo Funciona para Desarrolladores)
El record de C# es una característica poderosa introducida para facilitar la creación de modelos de datos inmutables y mejorar la experiencia de codificación al reducir el código repetitivo. Este tutorial tiene como objetivo simplificar el concepto de records en C# para principiantes, guiándote a través de su sintaxis, uso y ventajas.
Ya sea que estés tratando con objetos de transferencia de datos, configuraciones o simplemente necesites una forma eficiente de representar datos, los records en C# ofrecen un enfoque conciso y amigable para el desarrollador. También hablaremos de IronPDF más adelante en el artículo.
¿Qué es un registro C#?
Un record en C# es un tipo de referencia que proporciona una sintaxis simplificada para definir modelos de datos inmutables. A diferencia de las definiciones de clase tradicionales, un record enfatiza la igualdad basada en valores en lugar de la igualdad de referencia. Esto significa que dos instancias de record se consideran iguales si sus valores de propiedad son los mismos, no simplemente porque se refieren a la misma ubicación de objeto en memoria.
Tipos de registro: Class y Struct
Hay dos tipos principales de records en C#:
- Clase de registro: el tipo de registro predeterminado, que es un tipo de referencia.
- Estructura de registro: introducida para escenarios que requieren tipos de valores, estas son inmutables de manera predeterminada y ofrecen una comparación basada en valores similar a las clases de registro.
Declaración de registro
Declarar un record es sencillo. Puedes definir un record usando la palabra clave record seguida por el tipo (clase o struct) y el nombre del record. Por ejemplo, un record simple de persona puede declararse como:
public record class Person(string FirstName, string LastName);public record class Person(string FirstName, string LastName);Esta declaración incluye parámetros posicionales para FirstName y LastName, que, internamente, generan propiedades públicas y un constructor primario para estas propiedades.
La naturaleza inmutable de los registros
Los records están diseñados para ser inmutables, lo que significa que una vez que una instancia de record se crea, sus valores de propiedad no pueden cambiarse. Esta inmutabilidad es crucial para crear aplicaciones predecibles y seguras para hilos, especialmente cuando se trata de operaciones concurrentes.
Estructura de registro inmutable
Un struct record inmutable se declara de manera similar a una clase record pero utilizando la sintaxis record struct. Combina la inmutabilidad y la comparación basada en valores de los records con los beneficios de rendimiento de un tipo de valor:
public readonly record struct ImmutablePerson(string FirstName, string LastName);public readonly record struct ImmutablePerson(string FirstName, string LastName);Trabajar con registros
Los records simplifican la creación y el uso de tipos centrados en datos. Soportan la herencia, permiten la mutación no destructiva y proporcionan un formato incorporado para facilitar la depuración. Exploremos estas características a través de ejemplos.
Creación y comparación de registros
Considera el siguiente ejemplo donde creamos dos instancias de un record de persona:
var person1 = new Person("Iron", "Software");
var person2 = new Person("Iron", "Software");
Console.WriteLine(person1 == person2); // Output: Truevar person1 = new Person("Iron", "Software");
var person2 = new Person("Iron", "Software");
Console.WriteLine(person1 == person2); // Output: TrueA pesar de que persona1 y persona2 son dos instancias distintas, se consideran iguales basándose en sus valores de propiedad, demostrando la igualdad basada en valores. Esto representa una desviación significativa del comportamiento predeterminado de los tipos de referencia, que se centra en la igualdad de referencia.
Propiedades inmutables
Por diseño, las propiedades de los records son inmutables. Esto significa que no puedes cambiar los valores de propiedad de una instancia de record después de que ha sido creada.
// This will result in a compilation error
// person1.FirstName = "Jane";// This will result in a compilation error
// person1.FirstName = "Jane";Herencia con registros
Los records soportan la herencia, permitiéndote crear una jerarquía de modelos de datos. Aquí te mostramos cómo puedes extender un record base:
public record Employee(string FirstName, string LastName, string Department) : Person(FirstName, LastName);public record Employee(string FirstName, string LastName, string Department) : Person(FirstName, LastName);Este record Empleado extiende Persona, añadiendo la propiedad adicional Departamento.
Características avanzadas del registro
Mutación no destructiva
Los records proporcionan un método incorporado para crear una nueva instancia de record a partir de una existente con algunas propiedades modificadas, conocido como mutación no destructiva.
var updatedPerson = person1 with { FirstName = "Jane" };var updatedPerson = person1 with { FirstName = "Jane" };Formato incorporado
Los records vienen con un formateo incorporado para facilitar la depuración y el registro, proporcionando automáticamente una representación de cadena de sus propiedades.
Console.WriteLine(person1);Console.WriteLine(person1);Ventajas de usar registros en C
- Sintaxis simplificada: los registros reducen la necesidad de código repetitivo, lo que hace que sus modelos sean más concisos y legibles.
- Modelos de datos inmutables: la naturaleza inmutable de los registros ayuda a crear aplicaciones seguras para subprocesos.
- Igualdad basada en valores: los registros utilizan igualdad basada en valores en lugar de igualdad de referencia, ideal para tipos centrados en datos.
- Soporte para herencia: los registros pueden heredar de otros registros, lo que permite la reutilización de código y modelos de datos jerárquicos.
Introducción a IronPDF: A C# PDF Library

Visión General de IronPDF es una biblioteca PDF para desarrolladores de .NET, diseñada para generar, editar y manipular documentos PDF dentro de aplicaciones C#. IronPDF soporta la renderización de PDFs desde contenido HTML, CSS, Imágenes y JavaScript.
Su capacidad principal reside en crear documentos PDF desde contenido web, ofreciendo un enfoque simplificado para convertir cadenas HTML, URLs y formularios web ASPX en archivos PDF. IronPDF opera de manera eficiente en diversos tipos de aplicaciones, incluyendo aplicaciones de formularios, aplicaciones de servidor y aplicaciones web.
Cómo instalar la biblioteca IronPDF
Instalar IronPDF es sencillo y se puede realizar a través del Administrador de Paquetes NuGet en Visual Studio. Siga estos pasos:
- En Visual Studio, navega a el Explorador de Soluciones, haz clic derecho en Referencias y selecciona Administrar Paquetes NuGet.
- En el Administrador de Paquetes NuGet, selecciona Examinar y busca "IronPDF".
- Encuentra el paquete de IronPDF y haz clic en Instalar.

Alternativamente, puedes instalarlo usando la Consola del Administrador de Paquetes con el comando:
Install-Package IronPdf
Ejemplo: Uso de C# Record con IronPDF
Consideremos un ejemplo práctico donde usamos un record de C# para mantener datos que luego usamos para generar un documento PDF con IronPDF:
public record Person(string FirstName, string LastName);
class Program
{
static void Main(string[] args)
{
// Create an instance of the Person record.
var person = new Person("Iron", "Developer");
// Initialize a new renderer object for generating PDF files using Chrome's rendering engine.
var renderer = new IronPdf.Rendering.ChromePdfRenderer();
// Render an HTML string as a PDF document.
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>");
// Save the PDF to the specified location.
pdf.SaveAs("PersonRecord.pdf");
}
}public record Person(string FirstName, string LastName);
class Program
{
static void Main(string[] args)
{
// Create an instance of the Person record.
var person = new Person("Iron", "Developer");
// Initialize a new renderer object for generating PDF files using Chrome's rendering engine.
var renderer = new IronPdf.Rendering.ChromePdfRenderer();
// Render an HTML string as a PDF document.
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>");
// Save the PDF to the specified location.
pdf.SaveAs("PersonRecord.pdf");
}
}Este ejemplo crea un simple record Persona y luego utiliza IronPDF para generar un documento PDF que muestra el nombre de la persona. Demuestra cómo los records de C# pueden integrarse sin problemas con la generación de PDF en aplicaciones .NET.

Licencias de IronPDF

IronPDF es un producto comercial que ofrece varias licencias adaptadas a diferentes necesidades, incluyendo opciones individuales y comerciales. Cada compra viene con una licencia de por vida y una garantía de devolución de dinero de 30 días. Explora las Opciones de Licencia de IronPDF antes de comprar la licencia.
Conclusión
Los records en C# representan un avance significativo para simplificar el modelado de datos en aplicaciones .NET. Al entender y aprovechar los records, los desarrolladores pueden crear bases de código más confiables, mantenibles y legibles.
Ya sea que estés trabajando en aplicaciones a gran escala o en estructuras de datos simples, las características ofrecidas por los records, desde la inmutabilidad hasta la igualdad basada en valores, los convierten en una herramienta indispensable en tu arsenal de C#.
IronPDF ofrece la oportunidad de probar sus características usando la Prueba Gratuita de IronPDF antes de decidir una compra. Si encuentras que el software satisface tus necesidades, puedes comprar una licencia a partir de $799.
Preguntas Frecuentes
¿Cómo puedo usar registros en C# para generar un PDF?
Los registros de C# se pueden usar para almacenar datos de manera eficiente, que luego pueden ser utilizados por IronPDF para generar documentos PDF. Puedes crear un registro para contener los datos necesarios y usar IronPDF para renderizar estos datos en un formato PDF.
¿Cuáles son los beneficios de usar registros de C#?
Los registros de C# ofrecen varios beneficios, incluida una sintaxis simplificada, modelos de datos inmutables, igualdad basada en valores y soporte para herencia. Estas características hacen que los registros sean adecuados para crear tipos centrados en datos concisos y confiables.
¿Cómo manejan la igualdad los registros en C#?
Los registros en C# enfatizan la igualdad basada en valores. Esto significa que dos instancias de registro se consideran iguales si los valores de sus propiedades coinciden, independientemente de su ubicación en memoria.
¿Cómo declaras un registro en C#?
Un registro en C# se declara usando la palabra clave record seguida del tipo (clase o estructura) y el nombre del registro. Por ejemplo, public record class Person(string FirstName, string LastName);.
¿Cuál es la diferencia entre clases de registros y estructuras de registros?
Las clases de registros son tipos de referencia, mientras que las estructuras de registros son tipos de valor. Ambos proporcionan inmutabilidad y comparación basada en valores, pero difieren en la asignación de memoria y casos de uso.
¿Puedes modificar las propiedades de un registro de C# después de su creación?
Los registros de C# están diseñados para ser inmutables, lo que significa que las propiedades no se pueden cambiar después de que se crea el registro. Sin embargo, puedes realizar una mutación no destructiva para crear una nueva instancia de registro con propiedades modificadas.
¿Cómo mejora IronPDF las aplicaciones de C#?
IronPDF mejora las aplicaciones de C# proporcionando capacidades sólidas para generar, editar y manipular documentos PDF. Permite a los desarrolladores crear PDFs a partir de contenido HTML, lo que lo convierte en una herramienta versátil para la gestión de documentos.
¿Cómo se instala IronPDF en un proyecto .NET?
Puedes instalar IronPDF en un proyecto .NET usando el Gestor de Paquetes NuGet en Visual Studio o ejecutando el comando Install-Package IronPdf en la Consola del Gestor de Paquetes.
¿Cómo funciona la mutación no destructiva en los registros de C#?
La mutación no destructiva en los registros de C# te permite crear una nueva instancia de registro a partir de una existente con algunas propiedades modificadas, sin alterar la instancia original.
¿Para qué se utiliza una biblioteca de PDF en el desarrollo de C#?
Una biblioteca de PDF como IronPDF se utiliza en el desarrollo de C# para generar, editar y manipular documentos PDF. Ayuda a los desarrolladores a integrar eficientemente funcionalidades de PDF en sus aplicaciones.








