如果你知道当前类型应当为string的话,没有意义,ChangeType往往用在不知道当前类型应当是什么的情况下,比如有个泛型方法
T GetObject<T>(string str)
要求从string类型转换为指定的T类型,此时只能
return (T)Convert.ChangeType(str, typeof(T));
因为str显式转为T肯定是不行的,只能ChangeType
value = Convert.ChangeType(value,typeof(string))
这么转有什么意义呢?他和value.ToString()有什么区别?
回答: Convert.ChangeType我觉得应该是一种强制类型转换吧,这种转换正想楼上所说是你在不确定value是什么类型的情况下使用,至于转换成功与否是否正确可能不是很确定。
而toString是object的方法,子类可以覆盖它,可能自己定义他的转换结果。