(:3[kanのメモ帳]スマートフォン用の表示で見る(:3[kanのメモ帳]個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。2020-02-06重複があっては困る状況で利用されるほぼ一意である識別子、GUIDを生成する【C#】C#ツイートはじめに以前、PlayFabのログイン処理を実装する際に自前でカスタムID、つまりGUIDを生成していました。今回はそれを試してみようという感じの記事。Unityの各アセットにあるGUIDを生成しようと話ではないのであしからず。ちなみにUnityのGUIDは自動生成&設定なので、metaファイルを削除し、自動再生成させるとGUIDを新しく出来ます。Identifierの略で、Unity等で広く使われている識別子の事です。GUIDとは、128ビットの整数値からなる、データを一意に識別するために用いられる識別子のことである。GUIDは、時刻やMACアドレスなどを含むデータとして生成され、重複があっては困る状況で利用される。Windowsではインターフェース識別子やクラス識別子などに利用されている。GUIDは、絶対的に一意であることが保証されてるわけではないが、実用上はほぼ、世界中に唯一とみなして扱って困難がないといわれている。128ビットの値だと可読性に劣ることもあり、レジストリに記録する際には文字列で表現されている。Identifer)として扱われている。4122で規定されている。上記の通りパターンが無数にある値の事で、重複があっては困る状況で活用されています。利用する場合は既に使われていないか判定する処理があると安心です。GUIDの生成それでは早速、GUIDの生成ですが、Guid.NewGuidを実行するだけ。これでGuidの構造体が生成され、中にGUIDが生成&保持されています。eea611e1-ced9-4778-9655-0bd5f54d7e2aなお、上記の通りToStringで文字列(string)に変換する事が出来ますが、その時、guid.ToString("N")のように形式を指定する事も可能です。N32桁D32ハイフンで区切られた数字B32は、ハイフンで区切られ、中かっこで囲まれています。P32数字はハイフンで区切られ、かっこで囲まれています。X4つの16進値が中かっこで囲まれています。4番目の値は、中かっこで囲まれた8つの16進値のサブセットです。これらの形式を実際に試してみると以下のような感じ。{0xeea611e1,0xced9,0x4778,{0x96,0x55,0x0b,0xd5,0xf5,0x4d,0x7e,0x2a}}おそらくハイフンなしの32桁で表示されるToString("N")で使う機会が多いかと思われます。はてなブログPro個人ゲーム開発者。ω、)_新作は札束風呂VRや神巫女。Policy広告はてなブログをはじめよう!kan_kikuchiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。