Csharp/C#教程:将int转换为字符串与C#中的ToString()方法有什么区别?分享


将int转换为字符串与C#中的ToString()方法有什么区别?

将Int转换为字符串和ToString()方法有什么区别?

例如 :-

int MyInt = 10; label1.Text = (string)MyInt; // This Doesn't Work label1.Text = MyInt.ToString(); // but this does. 

好吧, ToString()只是一个返回字符串的方法调用。 它在object定义,因此调用任何东西(除了空引用)总是有效的。

演员可以做以下四件事之一:

在这种情况下,您要求编译器发出代码以从int转换为string 。 以上选项均不适用,因此您会收到编译时错误。

不同之处在于,使用强制转换,您要求编译器假设int实际上是一个字符串,但事实并非如此。

使用ToString(),你要求int的字符串表示,实际上是一个字符串:)

嗯,ToString()正在调用一个返回整数字符串表示的方法。

当你强制转换时,你没有返回一个表示,你说你想引用同一个对象(在这种情况下,值类型),但是你想引用它作为一个不同的类型。

如果您要转换的类型(目标类型)与要转换的对象的类型相同或目标类型是转换对象的超类或接口,则转换将成功。

实际上,可以在转换中进行转换,提供源或目标类型声明隐式或显式转换,但Int32类型不会对String目标类型执行此操作。

.ToString()方法是在System.Object类型(从中派生所有.NET类型)上实现的方法,可以在特定派生类型上重写。

因此,“int”类型有自己的.ToString()方法,它知道所有关于int的内容,以及如何将它们转换为字符串表示。

使用(string)myint显式转换,您要求编译器强制转换/转换一种类型到另一种类型(在这种情况下,将int转换为字符串)。 它失败了,因为编译器说字符串和int是不兼容的类型。

因此,显式转换失败,因为编译器说int 不是字符串,但.ToString()调用成功,因为int类型表示它的值可以表示为字符串,并且这样做!

ToString()方法是编程中最有用的方法之一,许多其他语言(如Java)具有在Object级别实现的完全相同的方法。

您可以定义自己的,C#中的签名必须始终如下:

 public override string ToString() 

这意味着此方法将覆盖Object-class中的一个define并返回一个字符串。 在里面,你以你想要的方式操纵你的字符串,然后返回结果。

此外,您可以在该整数上使用ToString的具体原因是因为在C#中,整数是Struct Int32所有实例。
看作Int32处于类的同一级别,它可以有自己的方法,其中一个是ToString()。

还有一件事情永远不会使用.ToString()如果您认为该对象可能为null或您的应用程序将是例如:

//模拟可能发生的问题
object obj = null; obj.ToString();

上述就是C#学习教程:将int转换为字符串与C#中的ToString()方法有什么区别?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/949244.html

(0)
上一篇 2021年11月17日
下一篇 2021年11月17日

精彩推荐