在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
在 Guid 类中,NewGuid() 方法 通常用于创建全局唯一标识符 (GUID)。 GUID 是一个 128 位整数,可在所有计算机和网络中使用,用于唯一标识信息而不会有重复的风险。 本文将提供关于如何在C#中使用GUID(Globally Unique IDentifiers)的深入指南,重点讲解其实用用途、示例和代码片段。 我们也将探索IronPDF 库。
GUID(全局唯一标识符)是软件开发中使用的唯一标识符。 在 .NET Framework 中,GUID 在 System 名称空间中表示为一个 Guid 结构。 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
在此代码中,Guid.NewGuid() 方法使用内部的随机数生成器创建一个新的 GUID,而 Console.WriteLine 则将新生成的 GUID 输出到控制台。
GUID由32个十六进制数字组成,通常以8-4-4-4-12的格式显示(例如,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)
该代码将 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)
在此代码中,Guid.Parse() 方法将字符串转换回 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
在这段代码中,对两个 GUID 进行了比较。 由于 Guid.NewGuid() 生成的每个 GUID 都是唯一的,因此结果通常是“这两个 GUID 是不同的。”
假设GUID是顺序的:GUID是随机的,NewGuid()方法不会生成顺序值。 因此,您不应认为 GUID 会保持任何顺序。
使用字符串比较而非 GUID 比较:将 GUID 作为字符串进行比较可能效率低下。 始终直接比较 GUID 对象,而不是将其转换为字符串并比较字符串值。
.NET Framework 和 .NET Core 均支持 GUID。 在 .NET 平台的不同版本中,Guid 类的用法保持一致。 因此,使用任何版本.NET的开发人员都可以使用Guid.NewGuid()方法轻松生成GUID。
GUID类似于UUID(全局唯一标识符),这两个术语常常可以互换使用。 虽然规范中存在一些细微差别,但它们的目的都是为了生成唯一标识符。
IronPDF 是一个 PDF 库,用于从 HTML 生成 PDF及在 .NET 应用程序中进行其他 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
在 Visual Studio 中运行上述代码并观察输出结果。
我们使用 Guid.NewGuid() 为每个 PDF 文件创建一个唯一的随机 GUID。此 GUID 被转换为字符串并用作文件名。
在本文中,我们介绍了 C# 中 GUID 的基础知识。 您已经了解了如何生成新的 GUID、比较它们、从字符串中解析它们以及在数据库等实际场景中使用它们。 Guid.NewGuid() 方法使生成新的 GUID 实例变得容易,确保每个标识符在系统之间都是唯一的。 使用 .NET 的开发人员可以依靠 GUID 为其应用程序提供随机性和唯一性。
IronPDF 理解在投资前进行测试的重要性,这就是为什么我们提供免费试用。 您可以免费评估该软件的性能。如果您认为它有益,许可证的起价为$749。