一意なID値が必要な場合、プログラムではよくGUID(Globally Unique IDentifier。グローバル一意識別子。読み方は「グイッド」)値が用いられる。GUID値とは、世界で重複することがない、ユニーク(=唯一)な128bit(16byte)のランダムな数値である。GUID値は必ずしも「絶対に同じID値が生成されないこと」を保証するものではないが、その数値の範囲が2の128乗、つまり「およそ3.4×(10の38乗)」(=340億の100兆倍の100兆倍)もあるので、現実的に同じIDが生成される可能性はきわめて低い。
GUID値とは、例えば次のような数値である。
- GUID値の例:36fafa84-91be-4d6b-a916-bc6667677b65
GUIDを文字列で表す際には、通常、この例のように8、4、4、4、12けたの間にハイフンを入れた16進数で表現される。
このようなGUID値を生成する機能が、.NET Frameworkにはあらかじめ備わっている。具体的には、Guid構造体の静的メソッドNewGuidだ。NewGuidメソッドはパラメータを持たず、戻り値としてGuidオブジェクトを返す。
返されたGuidオブジェクトのToStringメソッドを呼び出せば、GUID値を文字列として取得することができる。
次のコードは、以上の説明に従って実装したコンソール・アプリケーションのサンプル・プログラムだ。実行すると、新しいGUID値を取得して文字列でコンソールに出力する。
using System;
class Class1
{
[STAThread]
static void Main(string[] args)
{
Guid guidValue = Guid.NewGuid();
Console.WriteLine(guidValue.ToString());
// 出力例:26fde9ed-06bc-4d0f-8773-cb399e73eb6c
}
}
Module Module1
Sub Main()
Dim guidValue As Guid = Guid.NewGuid()
Console.WriteLine(guidValue.ToString())
' 出力例:26fde9ed-06bc-4d0f-8773-cb399e73eb6c
End Sub
End Module
このサンプル・プログラムを実行すると、32けたのGUID値の文字列が得られる。その際、その文字列には前述のハイフンが含まれるが、このハイフンが不要(Nothing)な場合は、GuidオブジェクトのToStringメソッドのパラメータに「N」を指定して呼び出せばよい。例えば次のようなコードになる。
Copyright© Digital Advantage Corp. All Rights Reserved.