Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
El registro 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 pretende simplificar el concepto de registros en C# para principiantes, guiándole a través de su sintaxis, uso y ventajas.
Tanto si se trata de objetos de transferencia de datos como de configuraciones, o simplemente necesita una forma eficaz de representar datos, los registros de C# ofrecen un enfoque conciso y fácil de usar para el desarrollador. También discutiremos IronPDF más adelante en el artículo.
Un registro 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 registro hace hincapié en la igualdad basada en valores en lugar de en la igualdad de referencias. Esto significa que dos instancias de registro se consideran iguales si los valores de sus propiedades son los mismos, no sólo porque se refieran a la misma ubicación de objeto en memoria.
Existen dos tipos principales de registros en C#:
Declarar un registro es sencillo. Puedes definir un registro usando la palabra clave record seguida por el tipo (clase o estructura) y el nombre del registro. Por ejemplo, un simple registro de persona puede declararse como:
public record class Person(string FirstName, string LastName);
public record class Person(string FirstName, string LastName);
'INSTANT VB TODO TASK: C# 'records' are not converted by Instant VB:
'public record class Person(string FirstName, string LastName)
Esta declaración incluye parámetros posicionales para FirstName y LastName, que en su funcionamiento interno, generan propiedades públicas y un constructor principal para estas propiedades.
Los registros están diseñados para ser inmutables, lo que significa que una vez que se crea una instancia de registro, los valores de sus propiedades no se pueden cambiar. Esta inmutabilidad es crucial para crear aplicaciones predecibles y seguras para los hilos, especialmente cuando se trata de operaciones concurrentes.
Un registro inmutable struct 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 registros con las ventajas 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);
'INSTANT VB TODO TASK: C# 'records' are not converted by Instant VB:
'public readonly record struct ImmutablePerson(string FirstName, string LastName)
Los registros simplifican la creación y el uso de tipos centrados en datos. Admiten la herencia, permiten la mutación no destructiva y ofrecen formato integrado para facilitar la depuración. Exploremos estas características a través de ejemplos.
Considere el siguiente ejemplo en el que creamos dos instancias de un registro de persona:
var person1 = new Person("Iron", "Software");
var person2 = new Person("Iron", "Software");
Console.WriteLine(person1 == person2); // Output: True
var person1 = new Person("Iron", "Software");
var person2 = new Person("Iron", "Software");
Console.WriteLine(person1 == person2); // Output: True
Dim person1 = New Person("Iron", "Software")
Dim person2 = New Person("Iron", "Software")
Console.WriteLine(person1 = person2) ' Output: True
A pesar de que person1 y person2 son dos instancias distintas, se consideran iguales basándose en sus valores de propiedades, demostrando igualdad basada en valores. Esto supone un cambio significativo respecto al comportamiento por defecto de los tipos de referencia, que se centra en la igualdad de referencias.
Por su diseño, las propiedades de los registros son inmutables. Esto significa que no se pueden modificar los valores de las propiedades de un registro una vez creado.
// This will result in a compilation error
// person1.FirstName = "Jane";
// This will result in a compilation error
// person1.FirstName = "Jane";
' This will result in a compilation error
' person1.FirstName = "Jane";
Los registros admiten la herencia, lo que permite crear una jerarquía de modelos de datos. A continuación se explica cómo ampliar un registro 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);
'INSTANT VB TODO TASK: C# 'records' are not converted by Instant VB:
'public record Employee(string FirstName, string LastName, string Department) : Person(FirstName, LastName)
Este Empleado registro extiende Persona, añadiendo la propiedad adicional de Departamento.
Los registros proporcionan un método incorporado para crear una nueva instancia de registro a partir de una existente con algunas propiedades modificadas, lo que se conoce como mutación no destructiva.
var updatedPerson = person1 with { FirstName = "Jane" };
var updatedPerson = person1 with { FirstName = "Jane" };
'INSTANT VB TODO TASK: C# 'with expressions' are not converted by Instant VB:
'var updatedPerson = person1 with { FirstName = "Jane" }
Los registros vienen con formato 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);
Console.WriteLine(person1)
Descripció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 admite la conversión de PDFs desde contenido HTML, CSS, Imágenes y JavaScript.
Su capacidad principal reside en la creación de documentos PDF a partir de contenido web, ofreciendo un enfoque racionalizado para convertir cadenas HTML, URL y formularios web ASPX en archivos PDF. IronPDF funciona con eficacia en varios tipos de aplicaciones, incluidas aplicaciones de formularios, aplicaciones de servidor y aplicaciones web.
La instalación de IronPDF es sencilla y puede realizarse mediante el gestor de paquetes NuGet de Visual Studio. Sigue estos pasos:
En Visual Studio, vaya al Explorador de soluciones, haga clic con el botón derecho en Referencias y seleccione Administrar paquetes NuGet.
En el Gestor de paquetes NuGet, seleccione Examinar y busque "IronPdf".
Busque el paquete IronPDF y haga clic en Instalar.
Alternativamente, puede instalarlo utilizando la consola del gestor de paquetes con el comando:
Install-Package IronPdf
Install-Package IronPdf
Veamos un ejemplo práctico en el que utilizamos un registro de C# para guardar datos que luego utilizamos para generar un documento PDF con IronPDF:
public record Person(string FirstName, string LastName);
class Program
{
static void Main(string [] args)
{
var person = new Person("Iron", "Developer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
public record Person(string FirstName, string LastName);
class Program
{
static void Main(string [] args)
{
var person = new Person("Iron", "Developer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
'INSTANT VB TODO TASK: C# 'records' are not converted by Instant VB:
'public record Person(string FirstName, string LastName)
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim person As New Person("Iron", "Developer")
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>")
pdf.SaveAs("PersonRecord.pdf")
End Sub
End Class
Este ejemplo crea un registro simple de Person y luego utiliza IronPDF para generar un documento PDF que muestra el nombre de la persona. Muestra la perfecta integración de los registros de C# con la generación de PDF en aplicaciones .NET.
IronPDF es un producto comercial que ofrece varias licencias adaptadas a diferentes necesidades, incluidas opciones individuales y comerciales. Cada compra incluye una licencia de por vida y una garantía de devolución del dinero de 30 días. Explore las opciones de licencia de IronPDF antes de comprar la licencia.
Los registros de C# representan un importante paso adelante en la simplificación del modelado de datos en las aplicaciones .NET. Al comprender y aprovechar los registros, los desarrolladores pueden crear bases de código más fiables, mantenibles y legibles.
Tanto si trabaja en aplicaciones a gran escala como en estructuras de datos sencillas, las funciones que ofrecen los registros, desde la inmutabilidad hasta la igualdad basada en valores, los convierten en una herramienta indispensable en su kit de herramientas de C#.
IronPDF ofrece la oportunidad de probar sus características utilizando la prueba gratuita de IronPDF antes de decidir una compra. Si encuentras que el software cumple con tus necesidades, puedes comprar una licencia a partir de $749.