A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

net

中级黑马

  • 黑马币:18

  • 帖子:127

  • 精华:0

© net 中级黑马   /  2013-3-17 20:49  /  1269 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 net 于 2013-3-18 08:47 编辑

在C#中Convert.Toint32  和   int.TryParse   虽然都是转换为整数的类型,但他们在用法上有什么不同?在什么情况下用Convert.Toint32,什么情况下用  int.TryParse?还有它们有什么本质上的区别?

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

3 个回复

倒序浏览
1。Convert.ToInt32,将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,在转型成int时,仍会造成程序错误。
2。 int.TryParse,将数字内容的字符串转为int类型,如果字符串内容为空或者null时,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常;如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2013-3-17 21:19
1。Convert.ToInt32,将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型 ...

嗯!谢谢您的回答,让我了解了一个新的知识!
回复 使用道具 举报
我只知道这个 ToInt32 内部是这样实现的。。
public static int ToInt32(string value)
{
    if (value == null)
    {
        return 0;
    }
    return int.Parse(value, CultureInfo.CurrentCulture);
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马