我很好奇为什么这给了我一个错误:
输入字符串的格式不正确。
发生此错误是因为屏幕null
如此它应该无法通过检查并且不会导致异常。
if (double.Parse(textDisplay.Text) >= -2147483647 & textDisplay.Text != null)
首先检查它是否不为空。也使用 double&&
作为单检查两个参数。double.TryParse
此外,如果输入不是数字,你会更好。
if (textDisplay.Text != null && double.Parse(textDisplay.Text) >= -2147483647)
更好的版本:
double value = 0;
if (double.TryParse(textDisplay.Text, out value) && value >= -2147483647)
使用TryParse
而不是,Parse
如果有效,它不会引发异常并返回布尔值
double res = 0;
if(double.TryParse("asd", out res))
{
var a = res;
};
尝试 && 代替
if (double.Parse(textDisplay.Text) >= -2147483647 && textDisplay.Text != null)
或者
double @num;
if(double.TryParse(textDisplay.Text, out @num) && @num >= -2147483647)
return @num;
if (double.Parse(textDisplay.Text) >= -2147483647 & textDisplay.Text != null)
你应该使用双'&':
if (double.Parse(textDisplay.Text) >= -2147483647 && textDisplay.Text != null)
使用TryParse
so 当 TextBox 值为空或 null 时不会抛出任何错误
double displayValue = 0;
double.TryParse(textDisplay.Text, out displayValue)
if (displayValue >= -2147483647)