यहाँ के लिए एक सरल विस्तार विधि है
myGuid == default(Guid)
जो
के बराबर है एक बेवकूफ गाइड।
/// <summary>
/// Determines if a nullable Guid (Guid?) is null or Guid.Empty
/// </summary>
public static bool IsNullOrEmpty(this Guid? guid)
{
return (!guid.HasValue || guid.Value == Guid.Empty);
}
अद्यतन
आप वास्तव में इस का उपयोग करने के लिए हर जगह आप एक नियमित Guid के लिए एक और विस्तार विधि लिख सकता है चाहता है तो। यह कभी भी शून्य नहीं हो सकता है, इसलिए कुछ लोगों को यह पसंद नहीं आएगा ... लेकिन यह उस उद्देश्य को पूरा करता है जिसे आप ढूंढ रहे हैं और आपको यह नहीं पता कि आप ग्विड के साथ काम कर रहे हैं या नहीं? या Guid (पुनः फैक्टरिंग आदि के लिए अच्छा)।
/// <summary>
/// Determines if Guid is Guid.Empty
/// </summary>
public static bool IsNullOrEmpty(this Guid guid)
{
return (guid == Guid.Empty);
}
अब आप सभी मामलों में someGuid.IsNullOrEmpty();
इस्तेमाल कर सकते हैं, चाहे आपको GUID या Guid उपयोग कर रहे हैं ?.
जैसा कि मैंने कहा, कुछ लोग नामकरण के बारे में शिकायत करेंगे क्योंकि IsNullOrEmpty()
का तात्पर्य है कि मान शून्य हो सकता है (जब यह नहीं हो सकता है)। यदि आप वास्तव में चाहते थे, तो IsNothing()
या IsInsignificant()
या जो कुछ भी हो :)
http://stackoverflow.com/questions/2344213/is-guid-considered-a-value को शुरू करने के लिए अलग-अलग नाम के साथ आएं -प्रकार-या-संदर्भ-प्रकार लेकिन आपकी ज़रूरतों के लिए 'Guid.Empty' – V4Vendetta