.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);
    }
}
Imports System
Friend Class Program
	Shared Sub Main()
		Dim newGuid As Guid = Guid.NewGuid()
		Console.WriteLine(newGuid)
	End Sub
End Class
VB   C#

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);
Dim newGuid As Guid = Guid.NewGuid()
Dim guidString As String = newGuid.ToString()
Console.WriteLine(guidString)
VB   C#

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);
Dim guidString As String = "e02fd0e4-00fd-090A-ca30-0d00a0038ba0"
Dim parsedGuid As Guid = Guid.Parse(guidString)
Console.WriteLine(parsedGuid)
VB   C#

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.");
}
Dim guid1 As Guid = Guid.NewGuid()
Dim guid2 As Guid = Guid.NewGuid()
If guid1 = guid2 Then
	Console.WriteLine("The two GUIDs are the same.")
Else
	Console.WriteLine("The two GUIDs are different.")
End If
VB   C#

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}");
    }
}
Imports System
Imports IronPdf
Friend Class Program
	Shared 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 = 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 Class
VB   C#

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.

< PREVIOUS
C# Discriminated Union (Wie es für Entwickler funktioniert)
NÄCHSTES >
C# Indexers (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.12 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,810,873 Lizenzen anzeigen >