मैं एक DateTime?
चर कभी कभी मूल्य null
है,, मैं कैसे एक खाली स्ट्रिंग ""
लौट सकते हैं जब मूल्य null
या DateTime
मूल्य जब null
नहीं है करने के लिए
उत्तर
string date = myVariable.HasValue ? myVariable.Value.ToString() : string.Empty;
DateTime? MyNullableDT;
....
if (MyNullableDT.HasValue)
{
return MyNullableDT.Value.ToString();
}
return "";
DateTime? d;
// stuff manipulating d;
return d != null ? d.Value.ToString() : String.Empty;
if (aDate.HasValue)
return aDate;
else
return string.Empty;
DateTime d?;
string s = d.HasValue ? d.ToString() : string.Empty;
आप एक विस्तार विधि
public static string ToStringSafe(this DateTime? t) {
return t.HasValue ? t.Value.ToString() : String.Empty;
}
...
var str = myVariable.ToStringSafe();
असल में लिख सकता है, इस Nullable प्रकार के लिए डिफ़ॉल्ट व्यवहार है, कि एक मूल्य के बिना वे कुछ भी नहीं लौट :
public class Test {
public static void Main() {
System.DateTime? dt = null;
System.Console.WriteLine("<{0}>", dt.ToString());
dt = System.DateTime.Now;
System.Console.WriteLine("<{0}>", dt.ToString());
}
}
इस पैदावार
<>
<2009-09-18 19:16:09>
+1 यह नहीं पता था। हालांकि, आप इस तरह एक स्वरूपण स्ट्रिंग की आपूर्ति नहीं कर सकते हैं। –
एचएम, दाएं। हालांकि इस इस मामले में एक समस्या नहीं हो सकता है। मैं नहीं इस अपने आप को भी कल तक हालांकि पता नहीं था,। इस पर ठोकर खाई जब 'Nullable
हालांकि इन सवालों के जवाब के कई सही हैं, उन सभी को बेकार में जटिल हैं। कॉल को टर्निंग करने का नतीजा डेटटाइम पर पहले से ही खाली स्ट्रिंग है यदि मान तार्किक रूप से शून्य है। बस अपने मूल्य पर ToString को कॉल करें; यह वही करेगा जो आप चाहते हैं।
में पर देख रहे हैं जब तक आप 'तरह .Day'' .Week' दिनांक समय गुण उपयोग करें, क्योंकि यह है कि आप पूरे दिनांक समय स्ट्रिंग दे देंगे और दिनांक समय वर्ग की शक्ति कम करना चाहते । जैसे 'MyVariable.Value.Hour।ToString() '। सिर्फ एक उदाहरण कारण है कि आप अन्यथा क्यों करना चाहते हैं। – baron
@baron, वे गुण 'Nullable' नहीं हैं। – Sam
एक Nullable<T>
कि है null
कोई रिक्त स्ट्रिंग वापस आ जाएगी पर .ToString()
कॉलिंग।
आपको बस इतना करना है कि बस .ToString()
पर कॉल करें। यह ऑब्जेक्ट null
मान के लिए संभालता है।
यहाँ Nullable<T>.ToString()
के लिए source of .NET Framework है:
public override string ToString() {
return hasValue ? value.ToString() : "";
}
- 1. Nullable LINQ (सी #)
- 2. सी # में Nullable विधि तर्क
- 3. Django मॉडल में Nullable TextField या खाली स्ट्रिंग?
- 4. Nullable दिनांक समय रूपांतरण
- 5. @Nullable एनोटेशन उपयोग
- 6. एक nullable int
- 7. XmlSerializer और nullable विशेषताएँ
- 8. javax.annotation: @Nullable बनाम @ चेकफ़ोरनुल
- 9. WPF: Nullable ComboBox
- 10. Nullable प्रकार मुद्दा: सशर्त ऑपरेटर
- 11. स्ट्रिंग का उपयोग करने का प्रयास क्यों करता है? (Nullable स्ट्रिंग) सी # में एक वाक्यविन्यास त्रुटि उत्पन्न करते हैं?
- 12. सी # नल स्ट्रिंग त्रुटि
- 13. Nullable Enum नल प्रकार प्रश्न
- 14. LINQ.SUM() और nullable डीबी मान
- 15. प्रकार Nullable <int>
- 16. Nullable Func <T, TResult>
- 17. सी # प्रतिबिंब: एक Nullable <int> के प्रकार कैसे प्राप्त करें?
- 18. सी # स्ट्रिंग
- 19. स्ट्रिंग सी
- 20. सी ++ स्ट्रिंग
- 21. सी # स्ट्रिंग
- 22. सी # स्ट्रिंग
- 23. सी स्ट्रिंग
- 24. स्ट्रिंग। सी #
- 25. सी # स्ट्रिंग
- 26. सी # स्ट्रिंग
- 27. सी # स्ट्रिंग
- 28. सी # स्ट्रिंग
- 29. सी # - स्ट्रिंग
- 30. सी # स्ट्रिंग
धन्यवाद, मैं –
क्या वास्तव में क्या देख रहा था !? आप String.Empty प्राप्त करने के लिए Nullable इंस्टेंस पर केवल ToString() को कॉल कर सकते हैं। यहां तक कि एरिक लिपर्ट (जो इस व्यवहार को भी लागू कर सकता है) यह नोट करता है। _That_ स्वीकृत उत्तर होना चाहिए। –
codekaizen
@codekaizen - जब मैं कोशिश करता हूं तो मुझे अपवाद मिलता है। तो नहीं, यह स्वीकार्य उत्तर नहीं होगा। शायद यह C# या .net के हाल के संस्करणों में कोई समस्या नहीं है? –