首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

急值相同,(int)转换出错,Convert.ToInt32()不会出错,为什么?该如何处理

2012-03-04 
急!急!值相同,(int)转换出错,Convert.ToInt32()不会出错,为什么?急!急!值相同,(int)转换出错,Convert.ToIn

急!急!值相同,(int)转换出错,Convert.ToInt32()不会出错,为什么?
急!急!值相同,(int)转换出错,Convert.ToInt32()不会出错,为什么?

[解决办法]
原因是被转换的对象原本不是Int类型

用(int)转换时必须是与该类型兼容的类型

比如 一个变量 Object A,如果该变量是 int 转换得到,(int)转换时不会出错,

如果是其它类型 ,如 A= "123 ",则转换时将会出错,

而用Convert.ToInt32()则可以将其它类型的变量转换过来,只要是数字
[解决办法]
Convet是将一种基本数据类型转换为另一种基本类型
[解决办法]
(int) 是类型转换
Convert.ToInt32 是内容转换
[解决办法]
(int)转换时必须是与该类型兼容的类型,而且在转换前要验证该类型,如果类型不符合将无法通过编译
Convert.ToInt32 着不管()里面是什么都可以编译过去,也不管数据是什么类型的都能通过编译
[解决办法]
楼上说的差不多了

[解决办法]
强制类型转换根本不做数据值的转换。
[解决办法]
使用场合不同, 一个是把一个出生在北京的中国人转换成北京人

另一个是把一个广东人入北京户口


完全两码事。


所以第一个当这个中国人不在北京出生长大,他就不一定能算是北京人,因此出错。

但不管他是北京出生广东出生,只要符合入北京户口的条件,都可以如北京户口。所以不出错。


你如果那个东西是个 DateTime ,那就不符合入北京户口条件了,就两个都出错。

热点排行