将Int转换为字符串和ToString()方法之间的区别是什么?
例如 :-
int MyInt = 10; label1.Text = (string)MyInt; // This Doesn't Work label1.Text = MyInt.ToString(); // but this does.
Jon Skeet.. 20
好吧,ToString()
只是一个返回字符串的方法调用.它的定义是object
因为调用任何东西(除了空引用之外)总是有效的.
演员可以做以下四件事之一:
预定义的转换,例如int
,以byte
可能失败的执行时间引用转换,例如转换object
为string
,其检查目标对象是否是适当的类型
用户定义的转换(基本上调用具有特殊名称的静态方法),这在编译时是已知的
可能失败的拆箱转换,例如转换object
为int
在这种情况下,你问的编译器产生的代码从转换int
到string
.以上选项均不适用,因此您会收到编译时错误.
好吧,ToString()
只是一个返回字符串的方法调用.它的定义是object
因为调用任何东西(除了空引用之外)总是有效的.
演员可以做以下四件事之一:
预定义的转换,例如int
,以byte
可能失败的执行时间引用转换,例如转换object
为string
,其检查目标对象是否是适当的类型
用户定义的转换(基本上调用具有特殊名称的静态方法),这在编译时是已知的
可能失败的拆箱转换,例如转换object
为int
在这种情况下,你问的编译器产生的代码从转换int
到string
.以上选项均不适用,因此您会收到编译时错误.
不同之处在于,使用强制转换,您要求编译器假设int实际上是一个字符串,而实际情况并非如此.
使用ToString(),你要求int的字符串表示,实际上是一个字符串:)