黑马程序员技术交流社区
标题:
(string)obj和obj.ToString()的区别?
[打印本页]
作者:
墨蹄
时间:
2014-4-1 18:03
标题:
(string)obj和obj.ToString()的区别?
本帖最后由 墨蹄 于 2014-4-9 12:06 编辑
如题,这两种用法通用么?
作者:
shangxin
时间:
2014-4-1 18:51
网上找的,仅供参考
1)(string)obj:前提条件——obj中必须是string变量的内容。如果是其它的出错
int obj = 1;
Console.WriteLine((string)obj);
2)ToString():所有类都可以使用(因为默认所有的类都继承了object,其实这个ToString()就是调用了object类的方法。像诸如int之类的是重写了ToString()方法。如果自定义的类不重写这个方法,返回会是“命名空间”.“类名”的形式。
3)Convert.ToString():把一个非字符串类型的数值强制转换成字符串类型(弥补1)。
比如:
int i=1;
Convert.ToString(i); //完全可以
注:
Convert.ToString()和tostring都可来完成字符向字符串类型的转换,大体上两者的功能是相同的。
可是如果你要转换的对象是空的话就得用convert.tostring方法了,因为tosring()方法不接受空的参数,如果用了的话编译就会报错的.
所以在通常在我们需要得到某个对象的string表达形式时,我们应该使用ToString和Convert.ToString,这时候你就得根据情形选一个,假如你能保证你的对象不为null,则两个差不多。如果有可能为null,你就应该用Convert.ToString,如果你希望它为null的时候抛出异常,那么当然可以选择.ToString。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2