.NET-HILFE

C# New GUID (Wie es für Entwickler funktioniert)

Veröffentlicht 23. Oktober 2024
Teilen Sie:

DieNewGuid()-Methode in einer Guid-Klasse wird üblicherweise verwendet, um einen weltweit eindeutigen Bezeichner zu erstellen(GUID). Eine GUID ist eine 128-Bit-Ganzzahl, die auf allen Computern und in allen Netzwerken verwendet werden kann, um Informationen ohne das Risiko von Duplikaten eindeutig zu identifizieren. Dieser Artikel bietet eine ausführliche Anleitung für die Arbeit mit GUIDs(Global eindeutige ID-Bezeichner) in C#, wobei der Schwerpunkt auf praktischen Anwendungen, Beispielen und Codeschnipseln liegt. Wir erforschen dieIronPDF-Bibliothek auch.

Was ist eine GUID?

EINE GUID(Global eindeutiger Bezeichner) ist ein eindeutiger Bezeichner, der in der Softwareentwicklung verwendet wird. Im .NET Framework werden GUIDs als Guid-Struktur innerhalb des System-Namensraums dargestellt. GUIDs werden häufig als Primärschlüssel in Datenbanken sowie für andere Zwecke in anderen Systemen verwendet, in denen systemübergreifend eindeutige Bezeichner erforderlich sind.

Generierung von GUIDs in C#

Um eine neue GUID in C# zu erzeugen, muss die Funktion Guid.NewGuid() funktion verwendet wird. Diese Methode erzeugt eine neue Instanz eines GUID-Objekts und stellt sicher, dass jede erzeugte GUID eindeutig ist. Intern werden die GUIDs mit einem Zufallszahlengenerator erzeugt, um sicherzustellen, dass keine zwei GUIDs denselben Wert haben.

Hier ist ein einfaches Code-Beispiel für die Erzeugung einer neuen GUID:

using System;
class Program
{
    static void Main()
    {
        Guid newGuid = Guid.NewGuid();
        Console.WriteLine(newGuid);
    }
}
using System;
class Program
{
    static void Main()
    {
        Guid newGuid = Guid.NewGuid();
        Console.WriteLine(newGuid);
    }
}

In diesem Code wird die Guid.NewGuid() methode erzeugt intern eine neue GUID mit Hilfe eines Zufallszahlengenerators und Console.WriteLine gibt die neu erzeugte GUID auf der Konsole aus.

GUID-Struktur und -Format

Eine GUID besteht aus 32 hexadezimalen Ziffern, die normalerweise im Format 8-4-4-4-12 angezeigt werden(e.g., e02fd0e4-00fd-090A-ca30-0d00a0038ba0). Bei der Konvertierung in eine Zeichenkette mit dem ToString() methode wird die GUID in diesem Format dargestellt. Diese Darstellung erleichtert das Speichern von GUIDs in textbasierten Formaten, wie JSON, XML oder Datenbanken.

Das folgende Codebeispiel zeigt, wie eine GUID in eine Zeichenkette umgewandelt wird:

Guid newGuid = Guid.NewGuid();
string guidString = newGuid.ToString();
Console.WriteLine(guidString);
Guid newGuid = Guid.NewGuid();
string guidString = newGuid.ToString();
Console.WriteLine(guidString);

Dieser Code wandelt die GUID in eine Zeichenkette um und gibt sie aus.

Parsing von GUID-Strings

Manchmal müssen Sie eine Zeichenkette in ein GUID-Objekt zurückverwandeln. Dies geschieht mit Hilfe der Guid.Parse() methode. Wenn die Zeichenfolge das richtige Format hat, wird sie in eine GUID-Instanz geparst. Wenn das Format nicht korrekt ist, wird eine Ausnahme ausgelöst.

Hier ist ein Code-Beispiel:

string guidString = "e02fd0e4-00fd-090A-ca30-0d00a0038ba0";
Guid parsedGuid = Guid.Parse(guidString);
Console.WriteLine(parsedGuid);
string guidString = "e02fd0e4-00fd-090A-ca30-0d00a0038ba0";
Guid parsedGuid = Guid.Parse(guidString);
Console.WriteLine(parsedGuid);

In diesem Code wird die Guid.Parse() methode konvertiert die Zeichenkette zurück in ein GUID-Objekt.

Vergleich von zwei GUIDs

GUIDs können verglichen werden, um festzustellen, ob sie gleich sind oder nicht. Die Guid-Struktur implementiert den Gleichheitsoperator(==)so können Sie zwei GUID-Objekte direkt miteinander vergleichen.

Hier ist ein Beispiel:

Guid guid1 = Guid.NewGuid();
Guid guid2 = Guid.NewGuid();
if (guid1 == guid2)
{
    Console.WriteLine("The two GUIDs are the same.");
}
else
{
    Console.WriteLine("The two GUIDs are different.");
}
Guid guid1 = Guid.NewGuid();
Guid guid2 = Guid.NewGuid();
if (guid1 == guid2)
{
    Console.WriteLine("The two GUIDs are the same.");
}
else
{
    Console.WriteLine("The two GUIDs are different.");
}

In diesem Code werden die beiden GUIDs verglichen. Da jede von Guid.NewGuid erzeugte GUID() ist, lautet das Ergebnis in der Regel: "Die beiden GUIDs sind unterschiedlich."

Häufige Fehler bei der Verwendung von GUIDs

  1. Unter der Annahme, dass GUIDs fortlaufend sind: GUIDs sind zufällig, und die NewGuid() die Methode erzeugt keine sequentiellen Werte. Daher sollten Sie nicht davon ausgehen, dass die GUIDs irgendeine Art von Ordnung beibehalten.

  2. String-Vergleiche anstelle von GUID-Vergleichen: Der Vergleich von GUIDs als Strings kann ineffizient sein. Vergleichen Sie GUID-Objekte immer direkt, anstatt sie in Strings zu konvertieren und die String-Werte zu vergleichen.

  3. 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 richtig indiziert werden. 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 einer beliebigen Version von .NET arbeiten, GUIDs ganz einfach mit der Guid.NewGuid() methode.

GUID vs. UUID

GUIDs sind ähnlich wie UUIDs(Universell eindeutige Bezeichner)und die Begriffe werden oft austauschbar verwendet. Die Spezifikationen unterscheiden sich zwar geringfügig, dienen aber demselben Zweck, nämlich der Erzeugung eindeutiger Bezeichner.

Verwendung von IronPDF mit GUID

C# Neue GUID(Wie es für Entwickler funktioniert): Abbildung 1 - IronPDF

IronPDF ist eine PDF-Bibliothek fürerzeugung von PDFs aus HTML und andere PDF-Operationen in .NET-Anwendungen. Sie können IronPDF mit GUIDs kombinieren, wenn Sie eindeutige Dateinamen für Ihre PDF-Dokumente erzeugen müssen. Dadurch wird sichergestellt, dass jede erzeugte PDF-Datei einen eindeutigen Namen hat, um das Überschreiben von Dateien oder Konflikte bei der Benennung zu vermeiden. Hier ist ein einfaches Beispiel für die Verwendung von IronPDF mit einer 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}");
    }
}
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}");
    }
}

Führen Sie den obigen Code in Visual Studio aus und beobachten Sie die Ausgabe.

C# Neue GUID(Wie es für Entwickler funktioniert): Abbildung 2 - Visual Studio-Konsolenausgabe

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

Schlussfolgerung

C# Neue GUID(Wie es für Entwickler funktioniert): Abbildung 3 - Lizenzierung

In diesem Artikel haben wir die Grundlagen von GUIDs in C# behandelt. Sie haben gesehen, wie man neue GUIDs generiert, sie vergleicht, sie aus Strings analysiert und sie in praktischen Szenarien wie Datenbanken verwendet. Die Guid.NewGuid() die GUID-Methode macht es einfach, eine neue Instanz einer GUID zu erzeugen und stellt sicher, dass jeder Bezeichner systemübergreifend eindeutig ist. Entwickler, die mit .NET arbeiten, können sich auf GUIDs verlassen, um Zufälligkeit und Einzigartigkeit in ihren Anwendungen zu gewährleisten.

IronPDF weiß, wie wichtig es ist, die Software zu testen, bevor man sie einsetzt, und bietet deshalb einenkostenloser Test. Sie können die Leistung der Software kostenlos evaluieren. Wenn Sie sie als nützlich erachten, beginnen die Lizenzen bei $749.

Kannaopat Udonpant

Kannapat Udonpant

Software-Ingenieur

 LinkedIn

Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS
C# Discriminated Union (Wie es für Entwickler funktioniert)
NÄCHSTES >
C# Indexers (Wie es für Entwickler funktioniert)