AYUDA .NET

Nuevo GUID de C# (Cómo funciona para desarrolladores)

Publicado en 23 de octubre, 2024
Compartir:

EnMétodo NewGuid() en una clase Guid se utiliza habitualmente para crear un identificador único global(GUID). Un GUID es un número entero de 128 bits que puede utilizarse en todos los ordenadores y redes para identificar información de forma única sin riesgo de duplicados. Este artículo ofrece una guía detallada sobre cómo trabajar con GUIDs(Identificadores únicos globales) en C#, centrándose en usos prácticos, ejemplos y fragmentos de código. Exploraremos laBiblioteca IronPDF también.

¿Qué es un GUID?

UN GUID(Identificador único global) es un identificador único utilizado en el desarrollo de software. En .NET Framework, los GUID se representan como una estructura Guid dentro del espacio de nombres System. Los GUID se utilizan a menudo como claves primarias en bases de datos, así como para otros fines en otros sistemas en los que se necesitan identificadores únicos entre sistemas.

Generación de GUID en C#

Para generar un nuevo GUID en C#, se utiliza el método Guid.NewGuid() función se utiliza. Este método crea una nueva instancia de un objeto GUID y garantiza que cada GUID generado sea único. Internamente, los GUID se generan mediante un generador de números aleatorios para garantizar que no haya dos GUID con el mismo valor.

He aquí un sencillo ejemplo de código para generar un nuevo 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#

En este código, el Guid.NewGuid() crea un nuevo GUID utilizando un generador de números aleatorios interno y Console.WriteLine envía el nuevo GUID generado a la consola.

Estructura y formato de GUID

Un GUID consta de 32 dígitos hexadecimales, que suelen mostrarse en un formato de 8-4-4-4-12(e.g., e02fd0e4-00fd-090A-ca30-0d00a0038ba0). Cuando se convierte a una cadena mediante la función ToString() método, el GUID se representa en este formato. Esta representación facilita el almacenamiento de GUID en formatos basados en texto, como JSON, XML o bases de datos.

El siguiente ejemplo de código muestra cómo convertir un GUID en una cadena:

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#

Este código convierte el GUID en una cadena y la emite.

Análisis de cadenas GUID

A veces, es posible que tenga que volver a convertir una cadena en un objeto GUID. Para ello se utiliza Guid.Parse() método. Si la cadena tiene el formato correcto, se convertirá en una instancia GUID. Si el formato es incorrecto, se lanzará una excepción.

He aquí un ejemplo de código:

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#

En este código, la función Guid.Parse() convierte la cadena en un objeto GUID.

Comparación de dos GUID

Los GUID pueden compararse para ver si son iguales o no. La estructura Guid implementa el operador de igualdad(==)para que pueda comparar dos objetos GUID directamente.

He aquí un ejemplo:

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#

En este código, se comparan los dos GUID. Dado que cada GUID generado por Guid.NewGuid() es único, el resultado será normalmente "Los dos GUID son diferentes"

Errores comunes al utilizar GUID

  1. Asumiendo que los GUIDs son secuenciales: Los GUIDs son aleatorios, y el NewGuid() el método no genera valores secuenciales. Por lo tanto, no debe asumir que los GUID mantendrán ningún tipo de orden.

  2. Comparaciones de cadenas en lugar de comparaciones GUID: Comparar GUIDs como cadenas puede ser ineficiente. Compare siempre los objetos GUID directamente en lugar de convertirlos en cadenas y comparar los valores de las cadenas.

  3. Uso de GUIDs en grandes bases de datos sin indexación: Los GUIDs pueden ser grandes y pueden afectar al rendimiento en grandes bases de datos si no se indexan adecuadamente. Asegúrese de que sus columnas GUID están indexadas cuando las utilice como claves primarias.

GUIDs en .NET Core y Framework

Los GUID son compatibles tanto con .NET Framework como con .NET Core. El uso de la clase Guid es coherente en las distintas versiones de la plataforma .NET. Por lo tanto, los desarrolladores que trabajan con cualquier versión de .NET pueden generar GUIDs fácilmente utilizando la función Guid.NewGuid() método.

GUID vs UUID

Los GUID son similares a los UUID(Identificadores únicos universales)a menudo, estos términos se utilizan indistintamente. Aunque existen algunas diferencias menores en la especificación, sirven al mismo propósito de generar identificadores únicos.

Uso de IronPDF con GUID

Nuevo GUID de C# (Cómo funciona para desarrolladores): Figura 1 - IronPDF

IronPDF es una biblioteca PDF paragenerar PDF a partir de HTML y otras operaciones PDF en aplicaciones .NET. Puede combinar IronPDF con GUID cuando necesite generar nombres de archivo únicos para sus documentos PDF. De este modo, se garantiza que cada PDF generado tenga un nombre único, evitando la sobrescritura de archivos o conflictos en la nomenclatura. He aquí un sencillo ejemplo de uso de IronPDF con un nuevo 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#

Ejecuta el código anterior en Visual Studio y observa el resultado.

Nuevo GUID de C# (Cómo funciona para desarrolladores): Figura 2 - Salida de la consola de Visual Studio

Utilizamos Guid.NewGuid() para crear un GUID aleatorio único para cada archivo PDF. Este GUID se convierte en una cadena y se utiliza como nombre de archivo.

Conclusión

Nuevo GUID de C# (Cómo funciona para desarrolladores): Figura 3 - Licencias

En este artículo, hemos tratado los conceptos básicos de los GUID en C#. Ya has visto cómo generar nuevos GUID, compararlos, analizarlos a partir de cadenas y utilizarlos en escenarios prácticos como bases de datos. El Guid.NewGuid() el método GUID facilita la generación de una nueva instancia de un GUID, garantizando que cada identificador sea único en todos los sistemas. Los desarrolladores que trabajan en .NET pueden confiar en los GUID para proporcionar aleatoriedad y unicidad en sus aplicaciones.

IronPDF entiende la importancia de probar antes de invertir, por lo que ofrecemos unprueba gratuita. Puedes evaluar el rendimiento del software sin coste alguno. Si le resulta beneficioso, las licencias cuestan a partir de 749 dólares.

< ANTERIOR
Unión discriminada en C# (Cómo funciona para desarrolladores)
SIGUIENTE >
Indexadores de C# (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,622,374 Ver licencias >