
C# Neue GUID (Wie es für Entwickler funktioniert)
Die NewGuid() Methode in einer Guid-Klasse wird häufig verwendet, um einen global eindeutigen Bezeichner (GUID) zu erstellen. Ein GUID ist eine 128-Bit-Zahl, die auf allen Computern und Netzwerken verwendet werden kann, um Informationen eindeutig zu identifizieren, ohne das Risiko von Duplikaten. Dieser Artikel bietet einen umfassenden Leitfaden zur Arbeit mit GUIDs (Globally Unique IDentifiers) in C#, mit Fokus auf praktische Anwendungen, Beispiele und Code-Snippets. Wir werden uns auch die IronPDF-Bibliothek ansehen.
Was ist eine GUID?
Ein GUID (Globally Unique Identifier) ist ein eindeutiger Bezeichner, der in der Softwareentwicklung verwendet wird. Im .NET-Framework werden GUIDs als Guid-Struktur im System-Namespace dargestellt. GUIDs werden häufig als Primärschlüssel in Datenbanken sowie für andere Zwecke in anderen Systemen verwendet, wo eindeutige Bezeichner über Systeme hinweg notwendig sind.
Generating GUIDs in C#
Um eine neue GUID in C# zu generieren, wird die Guid.NewGuid() Funktion verwendet. Diese Methode erstellt eine neue Instanz eines GUID-Objekts und stellt sicher, dass jeder generierte GUID eindeutig ist. Intern werden GUIDs mithilfe eines Zufallszahlengenerators generiert, um sicherzustellen, dass keine zwei GUIDs den gleichen Wert haben.
Hier ist ein einfaches Code-Beispiel zur Generierung eines neuen GUID:
using System;
class Program
{
static void Main()
{
// Generate a new GUID
Guid newGuid = Guid.NewGuid();
// Output the newly generated GUID to the console
Console.WriteLine(newGuid);
}
}Imports System
Module Program
Sub Main()
' Generate a new GUID
Dim newGuid As Guid = Guid.NewGuid()
' Output the newly generated GUID to the console
Console.WriteLine(newGuid)
End Sub
End ModuleIn diesem Code erstellt die Guid.NewGuid() Methode intern einen neuen GUID mit einem Zufallszahlengenerator, und Console.WriteLine gibt den neu generierten GUID in der Konsole aus.
GUID-Struktur und -Format
Ein GUID besteht aus 32 hexadezimalen Ziffern, die typischerweise im Format 8-4-4-4-12 angezeigt werden (z.B. e02fd0e4-00fd-090A-ca30-0d00a0038ba0). Wenn der GUID mithilfe der ToString() Methode in einen String umgewandelt wird, wird er in diesem Format dargestellt. Diese Darstellung erleichtert das Speichern von GUIDs in textbasierten Formaten wie JSON, XML oder in Datenbanken.
Das folgende Code-Beispiel zeigt, wie ein GUID in einen String konvertiert wird:
using System;
class Example
{
static void Main()
{
// Generate a new GUID
Guid newGuid = Guid.NewGuid();
// Convert the GUID to a string
string guidString = newGuid.ToString();
// Output the GUID string
Console.WriteLine(guidString);
}
}Imports System
Module Example
Sub Main()
' Generate a new GUID
Dim newGuid As Guid = Guid.NewGuid()
' Convert the GUID to a string
Dim guidString As String = newGuid.ToString()
' Output the GUID string
Console.WriteLine(guidString)
End Sub
End ModuleDieser Code konvertiert den GUID in einen String und gibt ihn aus.
GUID-Zeichenketten analysieren
Manchmal muss ein String zurück in ein GUID-Objekt geparst werden. Dies wird unter Verwendung der Guid.Parse() Methode durchgeführt. Wenn der String im korrekten Format ist, wird er in eine GUID-Instanz geparst. Wenn das Format nicht korrekt ist, wird eine Ausnahme ausgelöst.
Hier ist ein Code-Beispiel:
using System;
class ParseExample
{
static void Main()
{
// Define a GUID string
string guidString = "e02fd0e4-00fd-090A-ca30-0d00a0038ba0";
// Convert the string back into a GUID object
Guid parsedGuid = Guid.Parse(guidString);
// Output the parsed GUID
Console.WriteLine(parsedGuid);
}
}Imports System
Module ParseExample
Sub Main()
' Define a GUID string
Dim guidString As String = "e02fd0e4-00fd-090A-ca30-0d00a0038ba0"
' Convert the string back into a GUID object
Dim parsedGuid As Guid = Guid.Parse(guidString)
' Output the parsed GUID
Console.WriteLine(parsedGuid)
End Sub
End ModuleIn diesem Code wandelt die Guid.Parse() Methode den String zurück in ein GUID-Objekt um.
Vergleich zweier GUIDs
GUIDs können verglichen werden, um zu sehen, ob sie gleich sind oder nicht. Die Guid-Struktur implementiert den Gleichheitsoperator (==), sodass Sie zwei GUID-Objekte direkt vergleichen können.
Hier ist ein Beispiel:
using System;
class CompareExample
{
static void Main()
{
// Generate two new GUIDs
Guid guid1 = Guid.NewGuid();
Guid guid2 = Guid.NewGuid();
// Compare the two GUIDs
if (guid1 == guid2)
{
Console.WriteLine("The two GUIDs are the same.");
}
else
{
Console.WriteLine("The two GUIDs are different.");
}
}
}Imports System
Class CompareExample
Shared Sub Main()
' Generate two new GUIDs
Dim guid1 As Guid = Guid.NewGuid()
Dim guid2 As Guid = Guid.NewGuid()
' Compare the two GUIDs
If guid1 = guid2 Then
Console.WriteLine("The two GUIDs are the same.")
Else
Console.WriteLine("The two GUIDs are different.")
End If
End Sub
End ClassIn diesem Code werden die zwei GUIDs verglichen. Da jeder von Guid.NewGuid() generierte GUID einzigartig ist, wird das Ergebnis typischerweise "Die zwei GUIDs sind unterschiedlich." sein.
Gängige Fehler bei der Verwendung von GUIDs
-
Annahme, dass GUIDs sequenziell sind: GUIDs sind zufällig, und die
NewGuid()Methode generiert keine sequenziellen Werte. Daher sollten Sie nicht davon ausgehen, dass GUIDs eine bestimmte Reihenfolge einhalten. -
String-Vergleiche statt GUID-Vergleiche: Vergleiche von GUIDs als Strings können ineffizient sein. Vergleichen Sie immer GUID-Objekte direkt, anstatt sie in Strings zu konvertieren und die String-Werte zu vergleichen.
-
Verwendung von GUIDs in großen Datenbanken ohne Indizierung: GUIDs können groß sein und die Leistung in großen Datenbanken beeinträchtigen, wenn sie nicht ordnungsgemäß indiziert sind. Stellen Sie sicher, dass Ihre GUID-Spalten indiziert sind, wenn Sie sie als Primärschlüssel verwenden.
GUIDs in .NET Core und Framework
GUIDs werden sowohl im .NET-Framework als auch in .NET Core unterstützt. Die Verwendung der Guid-Klasse bleibt über verschiedene Versionen der .NET-Plattform hinweg konsistent. Daher können Entwickler, die mit jeder Version von .NET arbeiten, problemlos GUIDs mithilfe der Guid.NewGuid() Methode generieren.
GUID vs. UUID
GUIDs sind ähnlich wie UUIDs (Universally Unique Identifiers), und die Begriffe werden oft austauschbar verwendet. Während es einige kleinere Unterschiede in der Spezifikation gibt, dienen sie demselben Zweck der Generierung eindeutiger Bezeichner.
Verwendung von IronPDF mit GUID

IronPDF ist eine PDF-Bibliothek zum Generieren von PDFs aus HTML und anderen PDF-Operationen in .NET-Anwendungen. Sie können IronPDF mit GUIDs kombinieren, wenn Sie eindeutige Dateinamen für Ihre PDF-Dokumente generieren müssen. Dies stellt sicher, dass jedes generierte PDF einen eindeutigen Namen hat und Überschreibungen von Dateien oder Konflikte in der Namensgebung vermieden werden. Hier ist ein einfaches Beispiel für die Verwendung von IronPDF mit einem neuen GUID:
using System;
using IronPdf;
class Program
{
static void Main()
{
// Generate a new GUID object for the PDF filename
Guid pdfId = Guid.NewGuid();
string filename = $"{pdfId}.pdf";
// Create a PDF document using IronPDF
var renderer = new ChromePdfRenderer();
var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
// Save the PDF with the unique filename
pdfDocument.SaveAs(filename);
Console.WriteLine($"PDF saved as: {filename}");
}
}Imports System
Imports IronPdf
Module Program
Sub Main()
' Generate a new GUID object for the PDF filename
Dim pdfId As Guid = Guid.NewGuid()
Dim filename As String = $"{pdfId}.pdf"
' Create a PDF document using IronPDF
Dim renderer As New ChromePdfRenderer()
Dim pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>")
' Save the PDF with the unique filename
pdfDocument.SaveAs(filename)
Console.WriteLine($"PDF saved as: {filename}")
End Sub
End ModuleFühren Sie den obigen Code in Visual Studio aus und beobachten Sie die Ausgabe.

Wir verwenden Guid.NewGuid(), um für jede PDF-Datei eine einzigartige zufällige GUID zu erstellen. Diese GUID wird in einen String umgewandelt und als Dateiname verwendet.
Abschluss

In diesem Artikel haben wir die Grundlagen von GUIDs in C# behandelt. Sie haben gesehen, wie man neue GUIDs generiert, sie vergleicht, aus Strings parst und in praktischen Szenarien wie Datenbanken verwendet. Die Guid.NewGuid() Methode macht es einfach, eine neue Instanz einer GUID zu generieren, die sicherstellt, dass jeder Bezeichner systemübergreifend einzigartig ist. Entwickler, die in .NET arbeiten, können sich auf GUIDs verlassen, um in ihren Anwendungen Zufälligkeit und Einzigartigkeit zu bieten.
IronPDF versteht die Bedeutung des Testens, bevor Sie investieren, weshalb wir eine kostenlose Testversion anbieten. Sie können die Leistung der Software kostenlos bewerten. Wenn Sie sie nützlich finden, beginnen die Lizenzen bei $999.

Jacob Mellor is Chief Technology Officer at Iron Software and a visionary engineer pioneering C# PDF technology. As the original developer behind Iron Software's core codebase, he has shaped the company's product architecture since its inception, transforming it alongside CEO Cameron Rimington into a 50+ person company serving NASA, Tesla, and global government agencies.
Related Articles


