FC2ブログ
ヽ|∵|ゝ(Fantom) の 開発blog? ホーム »2019年12月
2019年12月の記事一覧

【C#】GUID の生成と書式  


 GUID の生成はググればすぐに出てくるのだが、生成されたオブジェクトは Guid 型なので、普段使うには文字型に変換して使うことが多い。

Guid.NewGuid メソッド

 幸いなことに文字列変換の Guid.ToString() には、いくつかのオーバーロードが定義されているので、利用方法は簡単だ。ただ「あれ?何を指定するんだっけ…?」とよく調べるので、メモ代わりに具体例を書いておくことにした(解説はマニュアル参照)。

Guid.ToString(String)

●テストコード
using System;

Console.WriteLine("(): " + Guid.NewGuid().ToString());
Console.WriteLine("N : " + Guid.NewGuid().ToString("N"));
Console.WriteLine("D : " + Guid.NewGuid().ToString("D"));
Console.WriteLine("B : " + Guid.NewGuid().ToString("B"));
Console.WriteLine("P : " + Guid.NewGuid().ToString("P"));
Console.WriteLine("X : " + Guid.NewGuid().ToString("X"));

(): 9379a57a-eb51-431e-bf78-e2bdb96bf249
N : b11b80a4ebd54e19916d3de68cf6e548
D : f5f54a7d-b46b-4d99-a70c-dff3216f1766
B : {cc3e87ff-83a5-4eac-b465-e4b967173db7}
P : (8cc1037b-db1b-4bb0-969a-6af901719548)
X : {0xe49cb895,0xe333,0x4704,{0x81,0x25,0xa2,0x70,0x79,0x4e,0xf6,0xae}}

 GUID はハッシュ値と違い、毎回変わるので、上の例はあくまでもその実行時の結果なので注意。

 "()":引数無しと "D" は同じようだ。普段使うのは引数無し(or "D") か "N" (ハイフン無し)を使うことが多いだろう。

 他は括弧囲み "()" だったり、中括弧 "{}" だったり、16進 "0x" だったりとなるだけだ。

 GUID はセッションID や識別ID などによく使われる。内容的には以下の記事にあるように『GUID値とは、世界で重複することがない、ユニーク(=唯一)な128bit(16byte)のランダムな数値である。GUID値は必ずしも「絶対に同じID値が生成されないこと」を保証するものではないが、その数値の範囲が2の128乗、つまり「およそ3.4×(10の38乗)」(=340億の100兆倍の100兆倍)もあるので、現実的に同じIDが生成される可能性はきわめて低い。』というものだ。例えば、ブラウザやアプリなどで初めに生成→保存し、利用者を識別したりするのにも使われる(広告とか)。簡易的なユニークID として利用するにはもってこいだろう。

.NET TIPS GUID値を生成するには?





(関連記事)
【C#】MD5, SHA1, SHA256, SHA384, SHA512 等のハッシュ値を生成する
【Unity】【C#】文字列の暗号化・復号化を行う


関連記事
スポンサーサイト



category: C#

thread: プログラミング

janre: コンピュータ

tag: C#リファレンス 
tb: 0   cm: --


プロフィール

Social

検索フォーム

全記事一覧

カテゴリ

ユーザータグ

最新記事

リンク

PR