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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李后量 中级黑马   /  2012-9-16 12:39  /  1711 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李后量 于 2012-9-16 16:21 编辑

通常object到string有四种方式:(假设有object obj)obj.ToString,Convert.ToString(obj),(string)obj,obj as string。


他们都能将object对象转换成string对象。我就讲讲他们的异同以及在实际中应该使用哪个。


前两个方法通常是由别的对象得到string对象,它们间的区别只表现在要转换的对象为null时,如果obj为null,调用obj.ToString方法会导致NullReferenceException异常,调用Convert.ToString()不会抛出异常而返回一个null。


用强制转换(string)obj要求obj的运行时类型必须是string。如果不是,就会抛出异常。


用as方法则会相对平稳,当obj的运行时类型不是string时会返回null而不抛出异常;如果obj为Null则返回"",也不会抛出异常。


所以在通常在我们需要得到某个对象的string表达形式时,我们应该使用ToString和Convert.ToString,这时候你就得根据情形选一个,假如你能保证你的对象不为null,则两个差不多。如果有可能为null,你就应该用Convert.ToString,如果你希望它为null的时候抛出异常,那么当然可以选择.ToString。

评分

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

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马