ऐसा लगता है कि टर्नरी ऑपरेटर में कुछ प्रकार का भ्रम है। मुझे पता है कि यह अन्य एसओ धागे में संबोधित किया गया है, लेकिन यह हमेशा nullables के साथ किया गया है। इसके अलावा, मेरे मामले में मैं वास्तव में बस एक बेहतर तरीका की तलाश में हूं।डीबीएनयूएल का संक्षिप्त उपयोग? (टर्नरी?)
मैं
proc.Parameters[PARAM_ID].Value =
string.IsNullOrEmpty(dest.Id) ? DBNull.Value : dest.Id;
उपयोग करने में सक्षम होना चाहते हैं, लेकिन इसके बजाय मैं इस के साथ अटक कर रहा हूँ:
if (string.IsNullOrEmpty(dest.Id))
{
proc.Parameters[PARAM_ID].Value = DBNull.Value;
}
else
{
proc.Parameters[PARAM_ID].Value = dest.Id;
}
त्रिगुट ऑपरेटर विफल रहता है वहाँ DBNull और स्ट्रिंग के बीच कोई रूपांतरण संभव है क्योंकि, और मूर्खतापूर्ण के रूप में लगता है कि मूल्य वस्तु है, संकलक इसे वापस लाता है और मुझे परवाह करने के लिए मजबूर किया जाता है। इस प्रश्न के निरर्थक संस्करण का उत्तर केवल स्ट्रिंग को नल डालना है और इसके साथ किया जाना है; डीबीएनयूएल को स्ट्रिंग में नहीं डाला जा सकता है, हालांकि, वहां कोई भाग्य नहीं है।
वहाँ यह करने के लिए अधिक संक्षिप्त तरीका है (, nullables का उपयोग कर जिस तरह से बिना?)
धन्यवाद!
ओह। ओह। आण्ड यही है जो स्टैक ओवरफ्लो है। धन्यवाद! – bwerks