
C# Record (Comment ça fonctionne pour les développeurs)
Record C# est une fonctionnalité puissante introduite pour faciliter la création de modèles de données immuables et pour améliorer l'expérience de codage en réduisant le code standard. Ce tutoriel vise à simplifier le concept des records en C# pour les débutants, vous guidant à travers leur syntaxe, leur utilisation et leurs avantages.
Que vous travailliez avec des objets de transfert de données, des configurations, ou que vous ayez simplement besoin d'une manière efficace de représenter des données, les records C# offrent une approche concise et conviviale pour les développeurs. Nous parlerons également de IronPDF plus tard dans l'article.
Qu'est-ce qu'un enregistrement C# ?
Un record en C# est un type de référence qui fournit une syntaxe simplifiée pour définir des modèles de données immuables. Contrairement aux définitions de classe traditionnelles, un record met l'accent sur l'égalité basée sur la valeur plutôt que sur l'égalité de référence. Cela signifie que deux instances de record sont considérées comme égales si leurs valeurs de propriété sont identiques, et pas seulement parce qu'elles se réfèrent à la même position d'objet en mémoire.
Types de records : Classe et Structure
Il y a deux principaux types de records en C# :
- Classe d'enregistrement : Le type d'enregistrement par défaut, qui est un type référence.
- Structure d'enregistrement : introduite pour les scénarios nécessitant des types valeur, elle est immuable par défaut et offre une comparaison basée sur les valeurs similaire aux classes d'enregistrement.
Déclaration de record
Déclarer un record est simple. Vous pouvez définir un record en utilisant le mot clé record suivi du type (classe ou structure) et du nom du record. Par exemple, un simple record de personne peut être déclaré comme suit :
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)Cette déclaration inclut des paramètres positionnels pour Prenom et Nom, qui, en coulisse, génèrent des propriétés publiques et un constructeur principal pour ces propriétés.
La nature immuable des records
Les records sont conçus pour être immuables, ce qui signifie qu'une fois une instance de record créée, ses valeurs de propriété ne peuvent pas être modifiées. Cette immuabilité est cruciale pour créer des applications prévisibles et sûres pour les threads, en particulier lors de la gestion d'opérations concurrentes.
Structure de record immuable
Une structure de record immuable est déclarée de la même manière qu'une classe de record mais en utilisant la syntaxe record struct. Elle combine l'immuabilité et la comparaison basée sur la valeur des records avec les avantages de performance d'un type de valeur :
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)Travailler avec les records
Les records simplifient la création et l'utilisation de types centrés sur les données. Ils supportent l'héritage, permettent la mutation non-destructive et fournissent un formatage intégré pour un débogage plus facile. Explorons ces fonctionnalités à travers des exemples.
Création et comparaison des records
Considérez l'exemple suivant où nous créons deux instances d'un record de personne :
var person1 = new Person("Iron", "Software");
var person2 = new Person("Iron", "Software");
Console.WriteLine(person1 == person2); // Output: TrueDim person1 = New Person("Iron", "Software")
Dim person2 = New Person("Iron", "Software")
Console.WriteLine(person1 = person2) ' Output: TrueBien que personne1 et personne2 soient deux instances distinctes, elles sont considérées comme égales en fonction de leurs valeurs de propriété, illustrant l'égalité basée sur la valeur. Ceci est un écart significatif par rapport au comportement par défaut des types de référence, qui se concentre sur l'égalité de référence.
Propriétés immuables
Par conception, les propriétés des records sont immuables. Cela signifie que vous ne pouvez pas modifier les valeurs de propriété d'une instance de record après sa création.
// This will result in a compilation error
// person1.FirstName = "Jane";' This will result in a compilation error
' person1.FirstName = "Jane";Héritage avec les records
Les records supportent l'héritage, vous permettant de créer une hiérarchie de modèles de données. Voici comment vous pouvez étendre un record de base :
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)Ce Employé record étend Personne, ajoutant la propriété supplémentaire Département.
Fonctionnalités avancées des records
Mutation non-destructive
Les records fournissent une méthode intégrée pour créer une nouvelle instance de record à partir d'une instance existante avec certaines propriétés modifiées, connue sous le nom de mutation non-destructive.
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" }Formatage intégré
Les records sont livrés avec un formatage intégré pour un débogage et une journalisation plus faciles, fournissant automatiquement une représentation sous forme de chaîne de leurs propriétés.
Console.WriteLine(person1);Console.WriteLine(person1)Les avantages de l'utilisation des enregistrements en C#
- Syntaxe simplifiée : les enregistrements réduisent le besoin de code répétitif, ce qui rend vos modèles plus concis et plus lisibles.
- Modèles de données immuables : La nature immuable des enregistrements contribue à la création d'applications thread-safe.
- Égalité basée sur les valeurs : les enregistrements utilisent l'égalité basée sur les valeurs plutôt que l'égalité par référence, ce qui est idéal pour les types axés sur les données.
- Prise en charge de l'héritage : les enregistrements peuvent hériter d'autres enregistrements, ce qui permet la réutilisation du code et des modèles de données hiérarchiques.
Introduction à IronPDF : une bibliothèque PDF pour C#

Vue d'ensemble IronPDF est une bibliothèque PDF pour les développeurs .NET, conçue pour générer, éditer et manipuler des documents PDF au sein des applications C#. IronPDF supporte le rendu PDF à partir de contenu HTML, CSS, Images et JavaScript.
Sa capacité principale réside dans la création de documents PDF à partir de contenu web, offrant une approche simplifiée pour convertir des chaînes HTML, des URLs, et des formulaires ASPX en fichiers PDF. IronPDF fonctionne efficacement à travers différents types d'applications, y compris les applications de formulaires, les applications serveur, et les applications web.
Comment installer la bibliothèque IronPDF
Installer IronPDF est simple et peut être accompli via le gestionnaire de packages NuGet dans Visual Studio. Suivez ces étapes :
- Dans Visual Studio, naviguez vers l'Explorateur de solutions, faites un clic droit sur Références et sélectionnez Gérer les paquets NuGet.
- Dans le gestionnaire de packages NuGet, sélectionnez Parcourir et recherchez "IronPDF".
- Trouvez le paquet IronPDF et cliquez sur Installer.

Alternativement, vous pouvez l'installer en utilisant la console du Package Manager avec la commande :
Exemple : Utilisation de l'enregistrement C# avec IronPDF
Considérons un exemple pratique où nous utilisons un record C# pour contenir des données que nous utilisons ensuite pour générer un document PDF avec 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");
}
}'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)
' Create an instance of the Person record.
Dim person As New Person("Iron", "Developer")
' Initialize a new renderer object for generating PDF files using Chrome's rendering engine.
Dim renderer = New IronPdf.Rendering.ChromePdfRenderer()
' Render an HTML string as a PDF document.
Dim 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")
End Sub
End ClassCet exemple crée un simple record Personne et utilise ensuite IronPDF pour générer un document PDF affichant le nom de la personne. Il montre comment les records C# peuvent s'intégrer de manière transparente avec la génération de PDF dans les applications .NET.

Licence IronPDF
IronPDF est un produit commercial offrant diverses licences adaptées à différents besoins, y compris des options individuelles et commerciales. Chaque achat est accompagné d'une licence à vie et d'une garantie de remboursement de 30 jours. Explorez les options de licence IronPDF avant d'acheter la licence.
Conclusion
Les records C# représentent un pas en avant significatif dans la simplification de la modélisation des données dans les applications .NET. En comprenant et en exploitant les records, les développeurs peuvent créer des bases de code plus fiables, maintenables et lisibles.
Que vous travailliez sur des applications à grande échelle ou des structures de données simples, les fonctionnalités offertes par les records, de l'immuabilité à l'égalité basée sur la valeur, en font un outil indispensable dans votre boîte à outils C#.
IronPDF offre la possibilité de tester ses fonctionnalités à l'aide du IronPDF Essai Gratuit avant de décider d'un achat. Si vous trouvez que le logiciel répond à vos besoins, vous pouvez acheter une licence à partir de $999.

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.
Articles connexes


