我正在尝试通过使用 short-if 来缩短我的代码:
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);
最佳答案
试试这个代替:
int? myInt=myTextBox.Text == "" ? (int?)null : Convert.ToInt32(myTextBox.Text);
关于c#短if语句不适用于int? (整数=空),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13330288/