急!急!值相同,(int)转换出错,Convert.ToInt32()不会出错,为什么?
急!急!值相同,(int)转换出错,Convert.ToInt32()不会出错,为什么?
[解决办法]
原因是被转换的对象原本不是Int类型
用(int)转换时必须是与该类型兼容的类型
比如 一个变量 Object A,如果该变量是 int 转换得到,(int)转换时不会出错,
如果是其它类型 ,如 A= "123 ",则转换时将会出错,
而用Convert.ToInt32()则可以将其它类型的变量转换过来,只要是数字
[解决办法]
Convet是将一种基本数据类型转换为另一种基本类型
[解决办法]
(int) 是类型转换
Convert.ToInt32 是内容转换
[解决办法]
(int)转换时必须是与该类型兼容的类型,而且在转换前要验证该类型,如果类型不符合将无法通过编译
Convert.ToInt32 着不管()里面是什么都可以编译过去,也不管数据是什么类型的都能通过编译
[解决办法]
楼上说的差不多了
[解决办法]
强制类型转换根本不做数据值的转换。
[解决办法]
使用场合不同, 一个是把一个出生在北京的中国人转换成北京人
另一个是把一个广东人入北京户口
完全两码事。
所以第一个当这个中国人不在北京出生长大,他就不一定能算是北京人,因此出错。
但不管他是北京出生广东出生,只要符合入北京户口的条件,都可以如北京户口。所以不出错。
你如果那个东西是个 DateTime ,那就不符合入北京户口条件了,就两个都出错。