2009-05-24 17 views

उत्तर

145

आप, क्यों आप (पूर्णांक, दशमलव, Guid DATETIME, जैसे मूल्य प्रकार डिफ़ॉल्ट निर्माता ... सभी संरचनाओं का उपयोग कर नेट में के रूप में विरोध किया NewGuid कॉल करने की आवश्यकता के लिए Guid.NewGuid()

+1

@ एन्टे: यदि आपके पास ग्रिड क्लास है तो आपके पास न्यूगूइड विधि है। – Guffa

+3

कुछ = Guid.NewGuid() काम करता है। –

60

बस एक त्वरित विवरण का उपयोग करना चाहिए आदि) में एक डिफ़ॉल्ट पैरामीटर रहित कन्स्ट्रक्टर होना चाहिए जो सभी फ़ील्ड को उनके डिफ़ॉल्ट मान में प्रारंभ करता है। ग्विड के मामले में, गेट बनाने वाले बाइट्स सभी शून्य हैं। गइड के लिए एक विशेष मामला बनाने या इसे कक्षा बनाने के बजाय, वे एक नया "यादृच्छिक" ग्रिड उत्पन्न करने के लिए न्यूगुइड विधि का उपयोग करते हैं।

+5

प्रासंगिक एमएसडीएन लिंक: http://msdn.microsoft.com/en-us/library/83fhsxwc(VS.80).aspx – jason

12

यह गतिशील रूप से कोड में एक GUID बनाने के लिए System.Guid.

में बताया गया है:

Guid messageId = System.Guid.NewGuid(); 

अपने मूल्य देखने के लिए:

string x = messageId.ToString(); 
+0

हां, यह वहां होना चाहिए (http://msdn.microsoft.com/en-us /library/system.guid_members.aspx) लेकिन मैं इसका उपयोग नहीं कर सकता। क्यूं कर? – Ante

+0

"मैं इसका उपयोग नहीं कर सकता" - जब आप इसका उपयोग करने का प्रयास करते हैं तो क्या होता है? इसे मैन्युअल रूप से टाइप करें (शायद आपके इंटेलिजेंस के साथ कोई समस्या है) और संकलन करने का प्रयास करें - क्या आपको संकलन त्रुटियां मिलती हैं? –

+0

जब आप कहते हैं कि "इसका उपयोग नहीं कर सकते" तो आपका क्या मतलब है? यदि आप GUID x = System.Guid.NewGuid() टाइप करते हैं और संकलित करते हैं, तो क्या आपको कोई त्रुटि मिलती है? या आप एक्स के लिए जो मूल्य प्राप्त कर रहे हैं उसे पसंद नहीं करते? – DOK

3
Guid g1 = Guid.NewGuid(); 

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

something = new Guid()something = Guid.Empty बराबर होती है।

उपयोग Guid.NewGuid(); बजाय

की [सी # एक Guid मान बनाने के लिए कैसे?] (
संबंधित मुद्दे