.NET 帮助

C# 新 GUID(如何为开发人员工作)

发布 2024年十月23日
分享:

"(《世界人权宣言》)新指南() 方法在 Guid 类中,通常用于创建全局唯一标识符(GUID). GUID 是一个 128 位整数,可在所有计算机和网络中使用,用于唯一标识信息而不会有重复的风险。 本文将深入介绍如何使用 GUID(全球唯一标识符)译文以 C# 语言编写,侧重于实际用途、示例和代码片段。 我们将探索IronPDF 库以及。

什么是 GUID?

一个 GUID(全球唯一标识符)是软件开发中使用的唯一标识符。 在 .NET Framework 中,GUID 在 System 名称空间中表示为一个 Guid 结构。 GUID 通常用作数据库中的主键,也可用于其他系统中的其他用途,因为在这些系统中需要跨系统的唯一标识符。

在 C# 中生成 GUID;

要在 C# 中生成一个新的 GUID,Guid.NewGuid()使用的功能。 该方法可创建 GUID 对象的新实例,并确保生成的每个 GUID 都是唯一的。 内部使用随机数生成器生成 GUID,以确保没有两个 GUID 具有相同的值。

下面是一个生成新 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#

在这段代码中,Guid.NewGuid()该方法在内部使用随机数生成器创建一个新的 GUID,然后 Console.WriteLine 将新生成的 GUID 输出到控制台。

GUID 结构和格式

GUID 由 32 个十六进制数字组成,通常以 8-4-4-4-12 的格式显示(e.g., e02fd0e4-00fd-090A-ca30-0d00a0038ba0). 当使用 ToString()方法,GUID 用这种格式表示。 这种表示法可以方便地将 GUID 存储在 JSON、XML 或数据库等基于文本的格式中。

下面的代码示例展示了如何将 GUID 转换为字符串:

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#

该代码将 GUID 转换为字符串并输出。

解析 GUID 字符串

有时,您可能需要将字符串解析回 GUID 对象。 翻译工作将使用 Guid.Parse()方法。 如果字符串格式正确,它将被解析为 GUID 实例。 如果格式不正确,将会出现异常。

下面是一个代码示例:

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#

在本代码中,Guid.Parse()该方法将字符串转换回 GUID 对象。

比较两个 GUID

可以比较 GUID 是否相等。 Guid 结构实现了相等运算符(==)您可以直接比较两个 GUID 对象。

下面是一个例子:

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#

在这段代码中,对两个 GUID 进行了比较。 由于 Guid.NewGuid 生成的每个 GUID()如果两个 GUID 都是唯一的,结果通常会是 "这两个 GUID 不同"。

使用 GUID 时的常见错误

  1. 假设 GUID 是连续的: GUID 是随机的,而 NewGuid()该方法不会生成顺序值。 因此,您不应认为 GUID 会保持任何顺序。

  2. 字符串比较而非 GUID 比较: 以字符串形式比较 GUID 可能效率不高。 始终直接比较 GUID 对象,而不是将其转换为字符串并比较字符串值。

  3. 在大型数据库中使用 GUID 而不编制索引: GUID 可能很大,如果不正确编制索引,可能会影响大型数据库的性能。 在将 GUID 列用作主键时,确保对其进行索引。

.NET Core 和 Framework 中的 GUIDs

.NET Framework 和 .NET Core 均支持 GUID。 在 .NET 平台的不同版本中,Guid 类的用法保持一致。 因此,使用任何版本 .NET 的开发人员都可以使用 Guid.NewGuid 轻松生成 GUID。()方法。

GUID 与 UUID

GUID 类似于 UUID(通用唯一标识符).NET、Java、Python 或 Node.js 等术语经常交替使用。 虽然规范中存在一些细微差别,但它们的目的都是为了生成唯一标识符。

通过 GUID 使用 IronPDF

C# New GUID(如何为开发人员工作):图 1 - IronPdf

IronPDF 是一个 PDF 库,用于从 HTML 生成 PDF在 .NET 应用程序中使用 PDF 和其他 PDF 操作。 当您需要为 PDF 文档生成唯一文件名时,可以将 IronPdf 与 GUIDs 结合使用。 这样可以确保生成的每个 PDF 都有唯一的名称,防止文件覆盖或命名冲突。 下面是一个使用 IronPDF 的简单示例,其中包含一个新的 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#

在 Visual Studio 中运行上述代码并观察输出结果。

C# New GUID(如何为开发人员工作):图 2 - Visual Studio 控制台输出

我们使用 Guid.NewGuid()为每个 PDF 文件创建一个唯一的随机 GUID。该 GUID 会被转换为字符串并用作文件名。

结论

C# New GUID(如何为开发人员工作):图 3 - 许可证

在本文中,我们介绍了 C# 中 GUID 的基础知识。 您已经了解了如何生成新的 GUID、比较它们、从字符串中解析它们以及在数据库等实际场景中使用它们。 Guid.NewGuid()该方法可轻松生成 GUID 的新实例,确保每个标识符在不同系统中都是唯一的。 使用 .NET 的开发人员可以依靠 GUID 为其应用程序提供随机性和唯一性。

IronPdf 深知在投资前进行测试的重要性,因此我们提供了一个免费试用. 您可以免费评估软件的性能。如果您发现它的优势,许可证起价为 749 美元。

< 前一页
C# 歧义联盟(如何为开发人员工作)
下一步 >
C# 索引器(如何为开发人员工作)

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,622,374 查看许可证 >