黑马程序员技术交流社区

标题: ToString()和Convert.ToString()有什么区别? [打印本页]

作者: laoyang    时间: 2011-11-20 11:14
标题: ToString()和Convert.ToString()有什么区别?
本帖最后由 laoyang 于 2011-11-21 16:16 编辑

ToString()和Convert.ToString()有什么区别?
作者: 付炯    时间: 2011-11-20 11:18
在C#中两者几乎没有差别 直接调用ToString()方法的效率略高
可参考 http://zhidao.baidu.com/question/336231161.html
作者: 张振鹏    时间: 2011-11-20 12:13
一般情况下,这两种方法都可以通用,但是当返回的数据类型中有可能出现null值时如果调用tostring()方法的话,就会返回NullReferenceException,除非你要捕捉此异常再做处理,否则在这种情况下就应考虑使用Convert.ToString()方法了,因为Convert.ToString(null)不会抛出异常而是返回空字符串。
作者: 杨楠    时间: 2011-11-20 12:17
偶觉得如果要做转换,还是Convert比较好,ToString只是各个类都提供的一种变成字符串的方法,比较省事,但是写代码的时候用Convert回顾起当时的思路来还能比较清晰
作者: 刘景发    时间: 2011-11-20 14:32
我正好有本参考书讲到它们的区别:{: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,可以根据自己的实际需要来决定使用哪一个方法更合适。

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2