我有蒙上了功能double上的string价值.
string variable = "5.00";
double varDouble = (double)variable;
Run Code Online (Sandbox Code Playgroud)
签入了代码更改,项目构建时出现错误: System.InvalidCastException: Specified cast is not valid.
但是,在执行以下操作后......
string variable = "5.00";
double varDouble = Convert.ToDouble(variable);
Run Code Online (Sandbox Code Playgroud)
......项目构建没有任何错误.
铸造和使用该Convert.To()方法有什么区别?为什么铸造投掷Exception并使用Convert.To()不?
今天在工作中出现了一个关于如何将对象转换为特定类型的问题(一int),我说要施展它:
int i = (int)object;
Run Code Online (Sandbox Code Playgroud)
一位同事说要用Convert.ToInt32().
int i = Convert.ToInt32(object)
Run Code Online (Sandbox Code Playgroud)
Convert.ToInt32()和直接对象之间的区别是什么?
当我(double)value通过更改它来修复异常错误时,我感到很惊讶System.Convert.ToDouble(value).
值是对象类型.
谁能告诉我为什么?
在这里,我附上代码和错误消息:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (double)value * (double)parameter;
}
Error Message: System.InvalidCastException: Specified cast is not valid.
Run Code Online (Sandbox Code Playgroud)