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

© laoyang 黑马帝   /  2011-11-20 11:14  /  2521 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 laoyang 于 2011-11-21 16:16 编辑

ToString()和Convert.ToString()有什么区别?

评分

参与人数 1技术分 +1 收起 理由
杨恩锋 + 1

查看全部评分

5 个回复

倒序浏览
付炯 黑马帝 2011-11-20 11:18:37
沙发
在C#中两者几乎没有差别 直接调用ToString()方法的效率略高
可参考 http://zhidao.baidu.com/question/336231161.html

评分

参与人数 1技术分 +1 收起 理由
杨恩锋 + 1

查看全部评分

回复 使用道具 举报
一般情况下,这两种方法都可以通用,但是当返回的数据类型中有可能出现null值时如果调用tostring()方法的话,就会返回NullReferenceException,除非你要捕捉此异常再做处理,否则在这种情况下就应考虑使用Convert.ToString()方法了,因为Convert.ToString(null)不会抛出异常而是返回空字符串。

评分

参与人数 1技术分 +1 收起 理由
杨恩锋 + 1

查看全部评分

回复 使用道具 举报
偶觉得如果要做转换,还是Convert比较好,ToString只是各个类都提供的一种变成字符串的方法,比较省事,但是写代码的时候用Convert回顾起当时的思路来还能比较清晰

评分

参与人数 1技术分 +1 收起 理由
杨恩锋 + 1

查看全部评分

回复 使用道具 举报
我正好有本参考书讲到它们的区别:{:soso_e100:}
平常的网页参数传递,比如在网页登录验证中从QueryString或当前会话Session中获得对应参数值,我们有下面两种方法:
1.使用Convert.ToString(param)方法:
     string strUserName = Convert.ToString(Session["UserName"]);
        string strUserPwd = Convert.ToString(Session["UserPwd"]);
2.直接调用ToString()方法:
        string strUserName = Session["UserName"].ToString;
            string strUserPwd = Session["UserPwd"].ToString;
我在练习时尝试过这两种方法的区别,当Session["UserName"]或Session["UserPwd"]返回null值时,使用方法1返回的值是空字符串,而直接调用ToString()方法则会抛出NullReferenceException,可以根据自己的实际需要来决定使用哪一个方法更合适。

评分

参与人数 1技术分 +2 收起 理由
杨恩锋 + 2

查看全部评分

回复 使用道具 举报
乔克 黑马帝 2011-11-20 17:27:42
地板
一般情况下,这两种方法都可以通用,但是当返回的数据类型中有可能出现null值时如果调用tostring方法了,就会返回NullReferenceException,除非你要捕捉此异常再做处理,否则在这种情况下就应考虑使用Convert.ToString()方法了,因为Convert.ToString(null)不会抛出异常而是返回空字符串.

评分

参与人数 1技术分 +1 收起 理由
杨恩锋 + 1

查看全部评分

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