黑马程序员技术交流社区
标题:
C#语法
[打印本页]
作者:
guoguo
时间:
2014-3-9 15:43
标题:
C#语法
本帖最后由 guoguo 于 2014-3-11 09:45 编辑
请教一下
object o;
string s=(o).tostring();与(string)o的区别
作者:
不经夸。
时间:
2014-3-9 16:07
toString一个方法,任何一个对象都可以有自己的字符串表达方式,就好比任何物品都可以有自己的名字一样,你可以重写这个方法,返回你需要的字符串数据
而强制类型转换成String,就是将原本不是String类型的对象转换成String类型,它不会去调用tostring方法。这就相当于你将物品A当成物品B来使用,如果两者不能转换的话,就相当于你把石头当救生圈使用了。
作者:
Q.z.l
时间:
2014-3-9 17:36
ToString()是类的方法,返回的东西是编写者决定的,也就是返回的是编写者经过自己写的程序转换好的数据。
而强制转换是让编译器把需要转换类型的数据按照读string类型数据的方式来读,但数据对不对会不会报错是你这个使用强制转换的人来负责的了。
作者:
zhl406893081
时间:
2014-3-9 17:58
强转(String) 强转对类型的匹配需要程序员自己分辨,必须是小转大,类型必须匹配,否则会程序错误或丢失精度.
Covert.ToString 一切类型都可以转换成string类型,任何对象都可以安全地.toString().
作者:
azve
时间:
2014-3-9 19:06
string str=(string)obj;
这是一个“拆箱”的过程,你必须保证obj他原本是一个string类型。
只不过因为某些原因,它被进行了“装箱”的操作变成了object类型或者其他类型。
toString()是个方法,任何类型都有这个方法。所以这个方法对谁用都可以。但是上面的就不行了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2