C # Guid 값을 만드는 방법?


답변:




83

두 가지 방법이 있습니다

var guid = Guid.NewGuid();

또는

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

둘 다 Guid 클래스를 사용합니다. 첫 번째는 Guid 객체를 만들고 두 번째는 Guid 문자열을 만듭니다.


47
@ 저스틴, 그것은 그것을하는 한 가지 방법입니다. var guid = Guid.NewGuid().ToString()그냥 문자열로 바꿉니다.
Michael Meadows

@MichaelMeadows 예, 맞습니다. 첫 번째는 새로운 Guid Object를 생성하고 두 번째는 문자열을 생성합니다.
저스틴


34
var guid = new Guid();

그다지 유용하지는 않지만 '유효한'Guid.

(당신이 모른다면 guid는 모두 0입니다. 때로는 nullable Guid를 사용하지 않으려는 경우 guid가 없음을 나타 내기 위해 필요합니다)


모든 0을 생성하지는 않습니다. 유효한 Guid를 만듭니다. Guid.Empty는 모든 0을 반환합니다.
FlavorScape

8
당신이 시도하기 전에 @FlavorScape, 나는 당신에게 잘못된 50 현상금 (현상금을 통해) 내기. 거래?

meh, 나는 Guid.NewGuid ()를 생각하고 있었다. 새로운 Guid ()
FlavorScape

11
이 솔루션으로 당신을 이겼습니다.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
코드에 guid를 전달해야 할 경우 nullable 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();

이것은 적어도 2012 년 현재이 작업을 수행하는 새로운 방법 인 것 같습니다. 2015 년에 Guid.NewGuid ()를 사용할 수없는 것 같습니다.
Dave Yarwood

2
@DaveYarwood Guid는 오랫동안 시스템 네임 스페이스에 있었으며 다른 답변에서 다른 모든 사람들이 참조하는 것입니다 (새로운 클래스에는 이미 시스템 네임 스페이스에 Using가 추가되어있는 것 같습니다. normal template)
Skuld

18

"원하는"Guid를 만들고 싶다면

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

<guidValue>같은 곳 이 될 것 1A3B944E-3632-467B-A53A-206305310BAE입니다.


2

C #에는 ShortGuid-짧고 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가 생성되며 동일한 두 값이 콘솔에 표시됩니다. 결과는 다음과 같이 나타납니다.

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

) 사용 alternatvity의 SCOPE.IDENTITY을 (할 수있다
잠머

28
C #은 내가 기억하는 것과 많이 다르게 보입니다.
Archibald
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.