C#Guid値を作成する方法?


回答:


897
Guid id = Guid.NewGuid();

252
私と同じように、(new Guid()。toString())を間違えると、0000-00000-00000-00000が返されます。Guid.NewGuid()。toString()を実行する必要があります
ジョアンカルロス、

12
あまりにもGuidのフォーマットに興味があるかもしれませんmsdn.microsoft.com/en-us/library/97af8hh4(v=vs.110).aspx
Anil Vangari 2016年

9
少し修正、Guidオブジェクトには関数 'toString()'はありません。それは 'ToString()'です
AB


83

2つの方法があります

var guid = Guid.NewGuid();

または

var guid = Guid.NewGuid().ToString();

どちらもGuidクラスを使用し、最初はGuidオブジェクトを作成し、2番目はGuid文字列を作成します。


47
@ジャスティン、それはそれを行うための一種の方法です。var guid = Guid.NewGuid().ToString()文字列に変換するだけです。
マイケルメドウズ

@MichaelMeadowsはい、そうです。1つ目は新しいGuidオブジェクトを作成し、2つ目は文字列を作成します。
Justin


34
var guid = new Guid();

こんにちは、それは「有効」ですが、あまり有用ではありません、Guid。

(知らない場合、guidはすべてゼロです。null許容のGuidを使用したくない場合、これはguidがないことを示すために必要になることがあります)


すべてがゼロになるわけではありません。有効なGuidを作成します。Guid.Emptyはすべてゼロを返します。
FlavorScape 2013年

8
@FlavorScapeを試してみる前に、50バウンティ(バウンティ)で間違いだと思います。対処?

えっと、私はGuid.NewGuid()を考えていました。私は本当に新しいGuid()を確認したいと思います
FlavorScape

11
私はこの解決策であなたを1つ打ちました:var guid = new Guid(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, });
Jeppe Stig Nielsen

2
nullを許容するGUIDを受け入れない、所有していないコードにGUIDを渡す必要がある場合。

26

のように「空」のすべて0のGUIDを作成し00000000-0000-0000-0000-000000000000ます。

var makeAllZeroGuID = new System.Guid();

または

var makeAllZeroGuID = System.Guid.Empty;

ユニークな値を持つ実際のGUIDを作成するために、おそらく必要なものを作成します。

var uniqueGuID = System.Guid.NewGuid(); 

21
System.Guid desiredGuid = System.Guid.NewGuid();

これは私が2015年に利用可能Guid.NewGuidを()持っていないようです、少なくとも2012年のように、これを行うための新しい方法のようです
デイブYarwood

2
@DaveYarwood Guidは非常に長い間System名前空間の下にあり、他のすべての回答で他のすべての人が参照しているものです(たまたま新しいクラスが通常のテンプレート)
Skuld

18

「望ましい」Guidを作成する場合は、次のことができます

var tempGuid = Guid.Parse("<guidValue>");

どこの<guidValue>ようなものになります1A3B944E-3632-467B-A53A-206305310BAE


2

また、ShortGuid-C#の短くてURLフレンドリーなGUIDクラスもあります。Nugetとして利用できます。詳細はこちら

PM> Install-Package CSharpVitamins.ShortGuid

使用法:

Guid guid = Guid.NewGuid();
ShortGuid sguid1 = guid; // implicitly cast the guid as a shortguid
Console.WriteLine(sguid1);
Console.WriteLine(sguid1.Guid);

これにより、新しいGUIDが生成され、そのGUIDを使用してShortGuidが作成され、2つの同等の値がコンソールに表示されます。結果は次のようになります。

ShortGuid: FEx1sZbSD0ugmgMAF_RGHw 
Guid:      b1754c14-d296-4b0f-a09a-030017f4461f

0

これをReflection C#で使用している場合、次のようにプロパティ属性からGUIDを取得できます

var propertyAttributes= property.GetCustomAttributes();
foreach(var attribute in propertyAttributes)
{
  var myguid= Guid.Parse(attribute.Id.ToString());
}


-2
//Retrive your key ID on the bases of GUID 

declare @ID as uniqueidentifier

SET @ID=NEWID()
insert into Sector(Sector,CID)

Values ('Diry7',@ID)


select SECTORID from sector where CID=@ID

代わりに使用できますSCOPE.IDENTITY()
サンマー2017年

28
C#は私が覚えているものとは大きく異なって見えます。
Archibald、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.