C # गाइड वैल्यू कैसे बनाएं?


490

हमारी संरचना का एक क्षेत्र है गाइड प्रकार। इसके लिए एक वैध मूल्य कैसे उत्पन्न करें?


जवाबों:


897
Guid id = Guid.NewGuid();

252
यदि आप, मेरी तरह, करने की गलती करते हैं (नई गाइडेंस () .String ()) तो आपको 0000-00000-00000-00000 मिलेंगे। आपको गाइड.न्यूजीड () .String ()
जोआओ कार्लोस

12
आपको GUID भी स्वरूपण में रुचि हो सकती msdn.microsoft.com/en-us/library/97af8hh4(v=vs.110).aspx
अनिल Vangari

9
थोड़ा सुधार, गाइड ऑब्जेक्ट पर कोई फ़ंक्शन 'toString ()' नहीं है, यह 'ToString ()' है
AB


83

इसके दो तरीके हैं

var guid = Guid.NewGuid();

या

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

दोनों गाइड क्लास का उपयोग करते हैं, पहला एक गाइड ऑब्जेक्ट बनाता है, दूसरा एक गाइड स्ट्रिंग।


47
@ जस्टिन, ऐसा करने का एक तरीका है। var guid = Guid.NewGuid().ToString()बस इसे एक स्ट्रिंग में बदल देता है।
माइकल मीडोज

@MichaelMeadows हाँ जो सही है, पहला नया गाइड ऑब्जेक्ट बनाता है, दूसरा एक स्ट्रिंग बनाता है।
जस्टिन


34
var guid = new Guid();

अरे, यह एक 'वैध' है, हालांकि बहुत उपयोगी नहीं है, गाइड।

(गाइड सभी शून्य है, यदि आप नहीं जानते हैं। कभी-कभी यह आवश्यक है कि बिना किसी गाइड के, उन मामलों में जहां आप एक अशक्त मार्गदर्शिका का उपयोग नहीं करना चाहते हैं।


यह सभी शून्य नहीं बनाता है। यह एक वैध गाइड बनाता है। गाइड। सभी शून्य को वापस कर दें।
फ्लेवरस्केप

8
@FlavorScape इससे पहले कि आप कोशिश करें, मैं आपको 50 प्रतिनिधि (बाउंटी के माध्यम से) शर्त लगाता हूं कि आप गलत हैं। डील?

meh, मैं Guid.NewGuid () के बारे में सोच रहा था। मैं वास्तव में नए
गाइड

11
मैं इस समाधान के साथ आपको हरा देता हूं:var guid = new Guid(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, });
जेपी स्टिग नील्सन

2
जब आपको कोड को एक गाइड पास करना होगा, तो आप स्वयं ऐसा नहीं करेंगे जो एक अशक्त गाइड को स्वीकार नहीं करता है।

26

एक "खाली" बनाने के लिए जैसे सभी 0-गाइड 00000000-0000-0000-0000-000000000000

var makeAllZeroGuID = new System.Guid();

या

var makeAllZeroGuID = System.Guid.Empty;

एक अद्वितीय मूल्य के साथ एक वास्तविक गाइड बनाने के लिए, जो आप शायद चाहते हैं।

var uniqueGuID = System.Guid.NewGuid(); 

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

ऐसा लगता है कि ऐसा करने का नया तरीका है, कम से कम 2012 के रूप में। मुझे ऐसा नहीं लगता है। गाइड्यू। न्यूवाइड () 2015 में उपलब्ध है
डेव यारवुड

2
@DaveYarwood गाइड सिस्टम नेमस्पेस के तहत बहुत लंबे समय से है, और हर एक दूसरे के जवाबों का जिक्र कर रहा है (यह सिर्फ ऐसा होता है कि एक नया वर्ग पहले से ही सिस्टम नेमस्पेस के लिए यूजिंग ऐड में शामिल है) सामान्य टेम्प्लेट)
Skuld

18

यदि आप एक "वांछित" गाइड बनाना चाहते हैं तो आप कर सकते हैं

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

जहां <guidValue>की तरह कुछ होगा 1A3B944E-3632-467B-A53A-206305310BAE


2

ShortGuid भी है - C # में एक छोटा और url फ्रेंडली GUID क्लास। यह नुगेट के रूप में उपलब्ध है । अधिक जानकारी यहाँ

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);

यह एक नया गाइड तैयार करता है, उस गाइड को शॉर्टगाइड बनाने के लिए उपयोग करता है, और कंसोल में दो बराबर मूल्यों को प्रदर्शित करता है। परिणाम कुछ इस तरह होंगे:

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

0

यदि आप रिफ्लेक्शन C # में इसका उपयोग कर रहे हैं, तो आप संपत्ति विशेषता से गाइड निम्नानुसार प्राप्त कर सकते हैं

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

अल्टरनेटिव SCOPE.IDENTITY () का इस्तेमाल किया जा सकता है
sammer

28
C # जितना मुझे याद है उससे बहुत अलग दिखता है।
आर्चीबाल्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.