Bir Guid değeri nasıl oluşturulur?


Yanıtlar:




83

İki yol var

var guid = Guid.NewGuid();

veya

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

her ikisi de Guid sınıfını kullanır, birincisi bir Guid Nesnesi, ikincisi ise bir Guid dizesi oluşturur.


47
@ Justin, bunu yapmanın bir yolu var. var guid = Guid.NewGuid().ToString()sadece bir dizeye dönüştürür.
Michael Meadows

@MichaelMeadows Evet bu doğru, birincisi yeni bir Guid Object, ikincisi bir string oluşturur.
Justin


34
var guid = new Guid();

Hey, bu bir 'geçerli', çok yararlı olmasa da, Rehber.

(eğer bilmiyorsanız kılavuz tamamen sıfırdır. Bazen bu, boş bir Kılavuz kullanmak istemediğiniz durumlarda kılavuz göstermemek için gereklidir)


Bu tüm sıfırları yaratmaz. Geçerli bir Rehber oluşturur. Guid.Empty tüm sıfırları döndürür.
FlavorScape 21:13

8
@FlavorScape denemeden önce, size 50 rep (ödül yoluyla) bahis yanlış. Anlaştık mı?

meh, Guid.NewGuid () 'i düşünüyordum. Gerçekten yeni Guid () doğrulamak umurumda
FlavorScape 21:13

11
Seni bu çözümle tek tek var guid = new Guid(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, });
yendim

2
Kod sahibi olmayan bir kılavuzu geçirmeniz gerektiğinde, boş değerli bir kılavuzu kabul etmeyen.

26

Gibi "boş" bir all-0 rehber gibi yapar 00000000-0000-0000-0000-000000000000.

var makeAllZeroGuID = new System.Guid();

veya

var makeAllZeroGuID = System.Guid.Empty;

Muhtemelen ne istediğinizi, benzersiz bir değere sahip gerçek bir rehber yapmak için.

var uniqueGuID = System.Guid.NewGuid(); 

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

Bu en azından 2012 itibariyle bunu yapmanın yeni bir yolu gibi görünüyor. 2015 yılında Guid.NewGuid () mevcut değil gibi görünüyor.
Dave Yarwood

2
@DaveYarwood Guid çok uzun bir süredir Sistem ad alanı altındadır ve diğer yanıtlarda her birinin atıfta bulunduğu şeydir (sadece yeni bir sınıfın, Sistem Ad Alanı için normal şablon)
Skuld

18

"İstenen" bir Kılavuz oluşturmak istiyorsanız,

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

nerede <guidValue>gibi bir şey olurdu 1A3B944E-3632-467B-A53A-206305310BAE.


2

Ayrıca ShortGuid - C # 'da daha kısa ve URL dostu bir GUID sınıfı var. Bir Nuget olarak kullanılabilir . Daha fazla bilgi burada .

PM> Install-Package CSharpVitamins.ShortGuid

Kullanımı:

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

Bu yeni bir kılavuz oluşturur, bu kılavuzu bir ShortGuid oluşturmak için kullanır ve konsolda iki eşdeğer değeri görüntüler. Sonuçlar şu hatlarda olacaktır:

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

0

Bunu Yansıma C # 'da kullanıyorsanız, özelliği özellik özelliğinden aşağıdaki gibi alabilirsiniz

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

alternatiflik kullanılabilir SCOPE.IDENTITY ()
sammer

28
C # hatırladığımdan çok farklı görünüyor.
Archibald
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.