हाँ, लंबाई तय हो गई है और हाँ, मध्य संख्या हमेशा 4 जब आप मानक toString प्रारूप का उपयोग करें। GUID में बिट्स (लगभग कहीं भी है कि विंडोज़ नहीं है एक UUID के रूप में जाना जाता है) में से कुछ संस्करण आदि जैसी चीजों से संकेत मिलता है ठीक ..
http://en.wikipedia.org/wiki/Uuid
संपादित मुझे लगता है कि "4 जोड़ना चाहिए "केवल उन गइड्स पर लागू होता है जो GUET.NewGuid एल्गोरिदम के अनुसार जेनरेट किए गए हैं। किसी भी मनमाने ढंग से बाइट [16] लेने और इसे ग्रिड में बदलने से रोकने के लिए कुछ भी नहीं है। तो, आप नेट पर एल्गोरिदम के वर्तमान कार्यान्वयन के लिए केवल 4 पर बैंक कर सकते हैं। यदि आप किसी अन्य स्रोत से गइड्स प्राप्त कर रहे हैं, तो आप 4 पर बैंक नहीं कर सकते हैं। नेट या संभवतः विंडोज़ के लिए एक अपडेट (निर्भर करता है कि .NET अपने स्वयं के या विंडोज 'जनरेटर का उपयोग करता है) GUID
की निश्चित संख्या बदल सकता है
उदाहरण के लिए निम्नलिखित पूरी तरह से कूट चल रहा है और 4 की स्थिति में नहीं होगा: (कोई पैरामीटर के साथ) documentation on Guid.ToString से
var rand = new Random();
var byteArray = new byte[16];
rand.NextBytes(byteArray);
var g = new Guid(byteArray);
स्रोत
2010-09-18 02:50:12
पर क्लिक करें आप केवल GUID के बारे में क्या कह सकते हैं इस पर भरोसा कर सकते हैं। यदि spec में निश्चित-लंबाई स्ट्रिंग प्रस्तुति का उल्लेख नहीं है, तो उस पर भरोसा न करें। –
@ किथ - 8-4-4-4-12 प्रारूप एमएस और ओएसएफ दोनों के साथ मानक है। एमएस दस्तावेज़ ग्विड के बारे में कहते हैं।ToString() "इस ग्रिड का मान, निम्नानुसार स्वरूपित: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" –
ठीक है, तो आप अच्छे हैं। –