मैं कम करता है, तो का उपयोग करके अपनी कोड छोटा करने के लिए कोशिश कर रहा हूँ:सी # छोटा अगर कथन int के साथ काम नहीं कर रहा है? (पूर्णांक = नल)
int? myInt=myTextBox.Text == "" ? null :
Convert.ToInt32(myTextBox.Text);
लेकिन मैं निम्नलिखित त्रुटि हो रही है: सशर्त अभिव्यक्ति का प्रकार निर्धारित नहीं किया जा सकता है, क्योंकि कोई अंतर्निहित रूपांतरण है वहाँ के बीच '' और 'int'
निम्नलिखित काम करता है:
int? myInt;
if (myTextBox.Text == "") //if no text in the box
myInt=null;
else
myInt=Convert.ToInt32(myTextBox.Text);
और अगर मैं की जगह '' पूर्णांक में (जैसे कि 'अशक्त 4') यह भी काम करता है:
+०१२३५१६४१०६१int? myInt=myTextBox.Text == "" ? 4:
Convert.ToInt32(myTextBox.Text);
यह एक छोटा करता है, तो है, लेकिन एक त्रिगुट ऑपरेटर नहीं है: और यही कारण है सी # शब्द डिफ़ॉल्ट शामिल है। – MarioDS
'int' को 'int' पर कास्ट करें। – CodesInChaos
यह एक डुप्लिकेट है :( – nawfal