.NET 帮助

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

Chipego
奇佩戈-卡琳达
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);
    }
}

在这段代码中,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);

该代码将 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);

在本代码中,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.");
}

在这段代码中,对两个 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}");
    }
}

在 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。

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
C# 歧义联盟(如何为开发人员工作)
下一步 >
C# 索引器(如何为开发人员工作)