2009-05-24 19 views
85

Bu Kod:C# içinde Kılavuzlar nasıl kullanılır?

Something = new Guid() 

dönüyor:

00000000-0000-0000-0000-000000000000

her zaman ve neden söylemiyorsun? Peki neden?

+0

Olası kopyalar http://stackoverflow.com/questions/2344098/c-sharp-how-to-create-a-guid- değer) – DaveInCaz

cevap

145

Sen (NET'te tüm yapıları varsayılan kurucu ... kullanmaya int, ondalık, Guid, DateTime gibi değer türleri aksine NewGuid çağırmanız gerekir niçin Guid.NewGuid()

+1

@Ante: Eğer Guid sınıfınız varsa, NewGuid yöntemine sahipsiniz. – Guffa

+3

Something = Guid.NewGuid() çalışıyor. –

60

Sadece hızlı bir açıklama kullanmalıdır vb), tüm alanları varsayılan değerlerine ilklendiren varsayılan parametresiz bir kurucuya sahip olmalıdır. Guid durumunda, Guid'i oluşturan baytlar sıfırdır. Guid için özel bir durum yapmak veya bir sınıf yapmak yerine, yeni bir "rasgele" Guid oluşturmak için NewGuid yöntemini kullanırlar.

+5

İlgili MSDN linki: http://msdn.microsoft.com/en-us/library/83fhsxwc(VS.80).aspx – jason

12

Bu dinamik kodunda bir GUID oluşturmak için System.Guid.

öyle:

Guid messageId = System.Guid.NewGuid(); 

değerini görmek için:

string x = messageId.ToString(); 
+0

Evet, orada olmalı (http://msdn.microsoft.com/en-us /library/system.guid_members.aspx) ancak kullanamıyorum. Niye ya? – Ante

+0

"Kullanamıyorum" - kullanmaya çalıştığınızda ne olur? Manuel olarak yazın (belki de bir intellisense ile ilgili bir sorun var) ve derlemeye çalışın - derleme hataları alıyor musunuz? –

+0

"Kullanamazsın" derken ne demek istiyorsun? Guid x = System.Guid.NewGuid() yazıp derlerseniz, bir hata alır mısınız? Yoksa x için aldığınız değeri sevmiyor musunuz? – DOK

3
Guid g1 = Guid.NewGuid(); 

string s1; 
s1 = g1.ToString(); 
Console.WriteLine("{0}",s1); 
Console.ReadKey(); 
3

something = new Guid()something = Guid.Empty eşittir.

Kullanım Guid.NewGuid(); yerine

[bir Guıd değer yaratmak için nasıl C#?] (Içinde
İlgili konular