c#中类型转换的问题

[复制链接]
查看11 | 回复4 | 2013-7-26 15:06:25 | 显示全部楼层 |阅读模式
(1)这两个方法的最大不同是它们对null值的处理方法:
Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。没搞清楚Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会产生无法预料的结果,举例来说:假如从url中取一个参数page的值,我们知道这个值是一个int,所以即可以用Convert.ToInt32(Request.QueryString["page"]),也可以用,int.Parse(Request.QueryString["page"]),但是如果page这个参数在url中不存在,那么前者将返回0,0可能是一个有效的值,所以你不知...
回复

使用道具 举报

千问 | 2013-7-26 15:06:25 | 显示全部楼层
Int32.Parse(str)和Convert.ToInt32(str)之间,两者作用是一样的,都是转换为整数类型的方法,区别是前者是弱转换((int)str也属弱转换),后者是强转换.int.parse()只能转换string,只是将数字的字符串表示形式转换为它的等效 32 位有符号整数Convert.ToInt32参数为object,转换不当时...
回复

使用道具 举报

千问 | 2013-7-26 15:06:25 | 显示全部楼层
你一定是初学者吧,其实c#有很多类型转换的函数哈,比如说数字类型的:你可以用int.parse哈,每个类型都带有parse函数哈,基本上可以满足你的需求哈。...
回复

使用道具 举报

千问 | 2013-7-26 15:06:25 | 显示全部楼层
convert 只能转换常用,如果你自己建了个类 class person 那你想把其他类型转换为类类型就只能用(person) 了这两种都是显式转换int 范围 比float 小,从小范围向大范围 转换可以直接的隐式转换,不需要显式转换...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行