我需要一些转换帮助。 我想将一个字符串转换为一个双字符串,所以我首先这样做。
double meterStartvalue = double.Parse(startMeterReading.Text);
只要你在文本框中放了一些东西就可以了。这并不好。所以我试着这样做:
double.TryParse(startMeterReading.Text, out meterStartvalue);
在执行 TryParse 时出现此错误:
参数2:无法从'out meterStartvalue'转换为'out double'
'double.TryParse(string,out。)的最佳重载方法匹配 double)'有一些无效的参数
还得到了meterStartvelue上下文不存在的错误,因为我在代码中的某些地方使用了它。
答案 0 :(得分:9)
您需要在调用方法之前声明meterStartValue
,否则编译器不知道您在说什么:
double meterStartValue;
if (double.TryParse(startMeterReading.Text, out meterStartvalue))
{
// Yes, we managed to parse the text.
}
else
{
// Failed to parse it
}
请注意,不必须为其提供初始值;当方法返回时,它将被明确赋值(如果解析失败,则值为0)。
不幸的是,没有办法在单个语句中声明变量和调用方法(使用变量作为参数)。
答案 1 :(得分:0)
在你的代码中使用它之前,你会忘记宣布你的meterStartValue
变量。
试试这个;
double meterStartValue;
if (double.TryParse(startMeterReading.Text, out meterStartvalue))
{
// Success
}
由于Double.TryParse
返回boolean
,您可以使用if语句检查对话是否成功。
Return Value
Type: System.Boolean
true if string was converted successfully; otherwise, false.