透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
Guid クラスの NewGuid() メソッド は、一般的にグローバル一意識別子 (GUID) を作成するために使用されます。 GUIDは128ビットの整数で、すべてのコンピュータとネットワークで使用でき、重複のリスクなしに情報を一意に識別します。 この記事では、C#でGUID(Globally Unique IDentifiers)を扱う方法について、実用的な使用法、例、およびコードスニペットに焦点を当てた詳細なガイドを提供します。 私たちはIronPDFライブラリについても探ります。
GUID(グローバル一意識別子)は、ソフトウェア開発で使用される一意の識別子です。 .NETフレームワークでは、GUIDはSystem名前空間内のGuid構造体として表されます。 GUIDは、データベースのプライマリキーとして、また、システム間で一意な識別子が必要とされる他のシステムで、他の目的でもよく使用されます。
C#で新しいGUIDを生成するには、Guid.NewGuid()関数を使用します。 このメソッドは、GUIDオブジェクトの新しいインスタンスを作成し、生成された各GUIDが一意であることを保証します。 内部的には、GUIDは乱数発生器を使用して生成され、2つの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の16進数の数字で構成され、通常は8-4-4-4-12の形式で表示されます(例: e02fd0e4-00fd-090A-ca30-0d00a0038ba0)。 ToString() メソッドを使用して文字列に変換されると、GUID はこの形式で表されます。 この表現により、JSON、XML、データベースなどのテキストベースのフォーマットにGUIDを簡単に格納できるようになります。
以下のコード例は、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 構造体は等価演算子 (==) を実装しているため、2 つの 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
このコードでは、2つのGUIDを比較しています。 Guid.NewGuid()によって生成される各GUIDは一意であるため、結果は通常「2つのGUIDは異なります。」となります。
GUIDが連続していると想定すること:GUIDはランダムであり、NewGuid() メソッドは連続した値を生成しません。 そのため、GUIDが何らかの秩序を保つと仮定すべきではありません。
GUIDの比較ではなく文字列の比較を使用: GUIDを文字列として比較することは、非効率的になる可能性があります。 GUIDオブジェクトを文字列に変換して文字列値を比較するのではなく、常に直接比較してください。
GUIDは、.NET Frameworkと.NET Coreの両方でサポートされています。 Guidクラスの使用法は、.NETプラットフォームの異なるバージョン間で一貫しています。 したがって、任意のバージョンの.NETを使用している開発者は、Guid.NewGuid() メソッドを使用して容易にGUIDを生成することができます。
GUIDはUUID(Universally Unique Identifier、グローバルに一意な識別子)と類似しており、これらの用語はしばしば互換的に使用されます。 仕様には若干の違いがありますが、一意の識別子を生成するという目的は同じです。
IronPDFは、HTMLおよびその他のPDF操作からPDFを生成するための.NETアプリケーション用PDFライブラリです。 IronPdfとGUIDを組み合わせることで、PDFドキュメントにユニークなファイル名を生成することができます。 これにより、生成されるすべてのPDFが一意の名前を持つようになり、ファイルの上書きや命名の衝突を防ぐことができます。 新しいGUIDでIronPDFを使う簡単な例です:
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で実行し、出力を確認してください。
各PDFファイルごとに一意のランダムなGUIDを作成するために、Guid.NewGuid()を使用します。このGUIDは文字列に変換され、ファイル名として使用されます。
この記事では、C#におけるGUIDの基本について説明しました。 新しいGUIDの生成方法、比較方法、文字列からの解析方法、データベースのような実用的なシナリオでの使用方法をご覧いただきました。 Guid.NewGuid() メソッドは、新しい GUID インスタンスを簡単に生成し、各識別子がシステム全体でユニークであることを保証します。 .NETで作業している開発者は、アプリケーションにランダム性と一意性を提供するためにGUIDに頼ることができます。
IronPDF は投資する前にテストすることの重要性を理解しているため、無料トライアルを提供しています。 ソフトウェアのパフォーマンスを無料で評価できます。もし有益だと感じた場合、ライセンスは$749から始まります。