从msdn页面:
public static double ToDouble( char value )参数
value
类型:System.Char要转换的Unicode字符.返回值
类型:System.Double不支持此转换.没有返回任何值.
如果不支持,为什么首先实施?
它不是唯一的.转换.ToBoolean(char),ToDateTime,ToDecimal和ToSingle也不受支持,它们都像ToDouble一样抛出InvalidCastException.
这只是.NET设计试图让你摆脱困境.将char转换为整数类型是合理的,您可以查看Unicode映射表并计算代码点.但转换为布尔值意味着什么?什么Unicode代码点是真的?ToDateTime不需要解释.一个角色怎么可能是一个小数值呢?没有半个或四分之一的代码点.
你可以使它工作,首先转换为Int32然后转换为Double.但无论如何,请检查您的代码并确保它是一件有意义的事情..NET设计者认为它不是.他们是对的.