क्या कोई समझा सकता है कि यह C # .NET 2.0 में क्यों काम करता है:
Nullable<DateTime> foo;
if (true)
foo = null;
else
foo = new DateTime(0);
... लेकिन यह नहीं है:
Nullable<DateTime> foo;
foo = true ? null : new DateTime(0);
बाद का रूप मुझे एक जटिल त्रुटि देता है "प्रकार की सशर्त अभिव्यक्ति निर्धारित नहीं की जा सकती है क्योंकि '<null>' और 'System.DateTime' के बीच कोई अंतर्निहित रूपांतरण नहीं है।"
ऐसा नहीं है कि मैं पूर्व का उपयोग नहीं कर सकता, लेकिन दूसरी शैली मेरे कोड के बाकी हिस्सों के साथ अधिक सुसंगत है।