Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Registro C es una potente función introducida para facilitar la creación de modelos de datos inmutables y mejorar la experiencia de codificación reduciendo 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 hablaremos de 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. Puede definir un registro utilizando la palabra clave record seguida del 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 de posición para FirstName y LastName, que bajo el capó, generan propiedades públicas y un constructor primario 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 record struct inmutable se declara de forma 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 persona1 y persona2 son dos instancias distintas, se consideran iguales en función de sus valores de propiedad, lo que pone de manifiesto la 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 registro Empleado amplía Persona, añadiendo la propiedad adicional 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)
IronPDF es una biblioteca PDF para desarrolladores .NET, diseñada para generar, editar y manipular documentos PDF en aplicaciones C#. IronPDF admite la renderización PDF a partir de HTMLCSS, imágenes y JavaScript.
Su función principal consiste en crear documentos PDF a partir de contenido web, ofreciendo un método simplificado 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:
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
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 simple registro Persona 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. Licencia antes de adquirir 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 funciones mediante el programa prueba gratuita antes de decidirse a comprar. Si considera que el software satisface sus necesidades, puede adquirir una licencia a partir de $749.
9 productos API .NET para sus documentos de oficina