C#でGUIDを使用する方法


89

このコード:

Something = new Guid() 

が戻ってきています:

00000000-0000-0000-0000-000000000000

いつも私には理由がわかりませんか?なぜ?


回答:



61

デフォルトコンストラクタを使用するのではなくNewGuidを呼び出す必要がある理由の簡単な説明... .NETでは、すべての構造体(int、decimal、Guid、DateTimeなどの値の型)は、すべてを初期化するデフォルトのパラメータなしのコンストラクタを持つ必要があります。フィールドをデフォルト値に戻します。Guidの場合、Guidを構成するバイトはすべてゼロです。Guidを特別なケースにしたり、クラスにしたりするのではなく、NewGuidメソッドを使用して新しい「ランダム」Guidを生成します。


12

入った System.Guid.

コードでGUIDを動的に作成するには:

Guid messageId = System.Guid.NewGuid();

その値を確認するには:

string x = messageId.ToString();

はい、あるはずです(msdn.microsoft.com/en-us/library/system.guid_members.aspx)が、使用できません。どうして?
アンティ

「使用できません」-使用しようとするとどうなりますか?手動で入力し(おそらくお使いのIntelliSenseに問題がある可能性があります)、コンパイルしてみてください-コンパイルエラーが発生しますか?
Matt Brindley、

「使えない」とはどういう意味ですか?Guid x = System.Guid.NewGuid()と入力してコンパイルすると、エラーが発生しますか?または、xに対して取得する値が気に入らないのですか?
DOK、

笑はい、Guidアルゴリズムは時々、新たな再起動を必要とします。はぁ。
ジョシュ

4

something = new Guid()等しいsomething = Guid.Empty

Guid.NewGuid();代わりに使用


3
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.