Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
C#-Datensatz ist eine leistungsstarke Funktion, die die Erstellung unveränderlicher Datenmodelle vereinfacht und die Codierungserfahrung durch die Reduzierung von Standardcode verbessert. Dieses Tutorial soll das Konzept der Datensätze in C# für Anfänger vereinfachen und Sie durch ihre Syntax, Verwendung und Vorteile führen.
Ganz gleich, ob Sie mit Datenübertragungsobjekten oder Konfigurationen zu tun haben oder einfach nur eine effiziente Methode zur Darstellung von Daten benötigen, C#-Datensätze bieten einen prägnanten und entwicklerfreundlichen Ansatz. Wir besprechen auch IronPDF weiter unten in dem Artikel.
Ein Record in C# ist ein Referenztyp, der eine vereinfachte Syntax für die Definition unveränderlicher Datenmodelle bietet. Im Gegensatz zu traditionellen Klassendefinitionen betont ein Datensatz die wertbasierte Gleichheit und nicht die Referenzgleichheit. Das bedeutet, dass zwei Datensatzinstanzen als gleich angesehen werden, wenn ihre Eigenschaftswerte gleich sind, und nicht nur, weil sie sich auf denselben Objektplatz im Speicher beziehen.
Es gibt zwei Haupttypen von Datensätzen in C#:
Einen Datensatz zu deklarieren ist einfach. Sie können einen Datensatz mit dem Schlüsselwort record definieren, gefolgt von dem Typ (klasse oder Struktur) und den Namen des Datensatzes. Ein einfacher Personendatensatz kann zum Beispiel wie folgt deklariert werden:
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)
Diese Erklärung enthält Positionsparameter für Vorname und Nachname, die unter der Haube öffentliche Eigenschaften und einen primären Konstruktor für diese Eigenschaften erzeugen.
Datensätze sind so konzipiert, dass sie unveränderlich sind, d. h. sobald eine Datensatzinstanz erstellt wurde, können ihre Eigenschaftswerte nicht mehr geändert werden. Diese Unveränderlichkeit ist entscheidend für die Erstellung vorhersehbarer und thread-sicherer Anwendungen, insbesondere bei gleichzeitigen Operationen.
Eine unveränderliche Datensatzstruktur wird ähnlich wie eine Datensatzklasse deklariert, jedoch unter Verwendung der Datensatzstruktur-Syntax. Sie kombiniert die Unveränderlichkeit und den wertbasierten Vergleich von Datensätzen mit den Leistungsvorteilen eines Wertetyps:
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)
Datensätze vereinfachen die Erstellung und Verwendung von datenzentrierten Typen. Sie unterstützen Vererbung, erlauben nicht-destruktive Mutation und bieten integrierte Formatierung zur leichteren Fehlersuche. Lassen Sie uns diese Funktionen anhand von Beispielen erkunden.
Im folgenden Beispiel erstellen wir zwei Instanzen eines Personendatensatzes:
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
Obwohl es sich bei Person1 und Person2 um zwei unterschiedliche Instanzen handelt, werden sie aufgrund ihrer Eigenschaftswerte als gleichwertig betrachtet, was die wertbasierte Gleichheit verdeutlicht. Dies ist eine deutliche Abweichung vom Standardverhalten der Referenztypen, das sich auf die Referenzgleichheit konzentriert.
Die Eigenschaften von Datensätzen sind unveränderlich. Das bedeutet, dass Sie die Eigenschaftswerte einer Datensatzinstanz nicht mehr ändern können, nachdem sie erstellt worden ist.
// 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";
Datensätze unterstützen Vererbung, so dass Sie eine Hierarchie von Datenmodellen erstellen können. So können Sie einen Basisdatensatz erweitern:
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)
Dieser Arbeitnehmer-Datensatz erweitert Person um die zusätzliche Eigenschaft Abteilung.
Datensätze bieten eine eingebaute Methode zur Erstellung einer neuen Datensatzinstanz aus einem bestehenden Datensatz, bei dem einige Eigenschaften geändert wurden, was als nicht-destruktive Mutation bezeichnet wird.
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" }
Die Datensätze verfügen über eine integrierte Formatierung, die das Debugging und die Protokollierung erleichtert und automatisch eine String-Darstellung ihrer Eigenschaften liefert.
Console.WriteLine(person1);
Console.WriteLine(person1);
Console.WriteLine(person1)
IronPDF ist eine PDF-Bibliothek für .NET-Entwickler, mit der sich PDF-Dokumente in C#-Anwendungen erzeugen, bearbeiten und manipulieren lassen. IronPDF unterstützt das Rendering PDFs aus HTML, CSS, Bilder und JavaScript.
Seine Kernkompetenz liegt in der Erstellung von PDF-Dokumenten aus Web-Inhalten und bietet einen rationalisierten Ansatz zur Konvertierung von HTML-Strings, URLs und ASPX-Webformularen in PDF-Dateien. IronPDF arbeitet effizient in verschiedenen Anwendungstypen, einschließlich Formular-, Server- und Webanwendungen.
Die Installation von IronPDF ist einfach und kann über den NuGet Package Manager in Visual Studio durchgeführt werden. Folgen Sie diesen Schritten:
Navigieren Sie in Visual Studio zum Projektmappen-Explorer, klicken Sie mit der rechten Maustaste auf Referenzen, und wählen Sie NuGet-Pakete verwalten.
Wählen Sie im NuGet-Paketmanager die Option Durchsuchen und suchen Sie nach "IronPDF".
Suchen Sie das IronPDF-Paket und klicken Sie auf Installieren.
Alternativ können Sie es auch über die Paketmanager-Konsole mit dem Befehl installieren:
Install-Package IronPdf
Betrachten wir ein praktisches Beispiel, bei dem wir einen C#-Datensatz verwenden, um Daten zu speichern, die wir dann zur Erstellung eines PDF-Dokuments mit IronPDF verwenden:
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
In diesem Beispiel wird ein einfacher Person-Datensatz erstellt und dann mit IronPDF ein PDF-Dokument mit dem Namen der Person erzeugt. Es zeigt, wie nahtlos sich C#-Datensätze in die PDF-Erzeugung von .NET-Anwendungen integrieren lassen.
IronPDF ist ein kommerzielles Produkt, das verschiedene, auf unterschiedliche Bedürfnisse zugeschnittene Lizenzen anbietet, darunter individuelle und kommerzielle Optionen. Jeder Kauf wird mit einer lebenslangen Lizenz und einer 30-tägigen Geld-zurück-Garantie geliefert. Lizenz bevor Sie die Lizenz erwerben.
C#-Datensätze sind ein bedeutender Fortschritt bei der Vereinfachung der Datenmodellierung in .NET-Anwendungen. Durch das Verständnis und die Nutzung von Datensätzen können Entwickler eine zuverlässigere, wartbare und lesbare Codebasis erstellen.
Ganz gleich, ob Sie an umfangreichen Anwendungen oder einfachen Datenstrukturen arbeiten, die Funktionen von Records, von der Unveränderlichkeit bis zur wertbasierten Gleichheit, machen sie zu einem unverzichtbaren Werkzeug in Ihrem C#-Toolkit.
IronPDF bietet die Möglichkeit, seine Funktionen zu testen, indem die kostenloser Test bevor Sie sich für einen Kauf entscheiden. Wenn Sie feststellen, dass die Software Ihren Anforderungen entspricht, können Sie eine Lizenz ab $749 erwerben.
9 .NET API-Produkte für Ihre Bürodokumente