StringCoercion.net里为什么会有这种可以转字符串的方法?我看到的方法是.ToString、Convert.ToString()和(string)。有什么不同。Convert.ToString(obj)将指定值转换为其等效的字符串表示形式。如果指定值为null,则返回String.Empty。obj.ToString()返回表示当前对象的字符串。此方法返回文化敏感的人类可读字符串。例如,对于值为零的Double类的实例,Double.ToString的实现可能会返回“0.00”或“0,00”,具体取决于当前的UI文化。默认实现返回Object类型的完全限定名称。可以在派生类中重写此方法以返回对该类型有意义的值。例如,Int32等原始数据类型实现ToString以返回对象表示的值的字符串形式。需要比ToString提供更多控制字符串格式的派生类必须实现IFormattable,其ToString方法使用当前线程的CurrentCulture属性。(string)obj这是一个转换操作,不是函数调用。如果您确定对象是字符串类型,或者如果它具有可以将其转换为字符串的隐式或显式运算符,请使用它。nullAND类型的字符串或实现自定义强制转换为字符串运算符的类型。请参阅示例。nullAND类型的字符串或实现自定义强制转换为字符串运算符的类型。请参阅示例。obj作为字符串安全转换操作。与上面相同,但是如果转换操作失败,它不会抛出异常,而是返回null。提示:不要忘记将CultureInfo与obj.ToString()和Convert.ToString(obj)一起使用示例:12345.6D.ToString(CultureInfo.InvariantCulture);//返回12345.612345.6D.ToString(CultureInfo.GetCultureInfo("de-DE"));//返回12345,6Convert.ToString(12345.6D,CultureInfo.InvariantCulture);//返回12345.6Convert.ToString(12345.6D,CultureInfo.GetCultureInfo("de-DE"));//12345,6转换。ToString(测试);//String.Empty,“test”为null,它的类型//没有实现显式转换为字符串操作。Convert.ToString(空);//空(字符串)空;//空(字符串)测试;//不会编译,“test”不是字符串并且//没有实现自定义转换为字符串运算符(string)test;//很可能是NullReferenceException,//"test"不是字符串,//实现了自定义转换运算符但是是空(字符串)测试;//一些值,“test”不是字符串,//实现自定义转换为字符串运算符nullasstring;//null运算符示例:publicclassTest{publicstaticimplicitoperatorString(Testv){返回“测试”;如果对象为null,Convert.ToString()将返回一个空字符串。ToString和(String)将抛出异常如果值为null,Convert.ToString将在内部调用.ToString(),它会返回一个空细绳。object.ToString()是获取对象的字符串表示形式的最基本方法,可以由对象具体实现。Convert.ToString()对此进行了扩展,并为原始类型(char、byte、int、double等)提供了一些特定的重载,这些重载允许一些更特定于类型的功能(例如基本转换)(string)是一个转换运算符,它只如果类型是字符串或具有可以将其转换为字符串的隐式或显式运算符,则有效。否则你会得到一个InvalidCastException不要忘记,因为stringToString()是一个对象的方法,它总是适用于非空引用,所以你会得到一些东西,但是这个东西是否是你想要的,是一个不同的故事。Convert.ToString()在大多数情况下会产生相同的结果,但不如Object.ToString()灵活,因为您无法传递自定义格式设置规则。(string)将你的对象转换为一个字符串,如果它不是一个字符串,那么你将得到一个InvalidCastException()。思考。ToString是一个虚方法,每个类型都可以实现自己想要的。System.Object还提供默认实现,以便它始终成功。Convert.ToString也适用于空值,并允许您使用注释中指出的IFormat提供程序。转换为字符串需要一个对象来实现转换运算符。同样,类型可以随心所欲地实现它,但大多数类型不会,因此您可能会在此处遇到异常。使用.ToString作为最佳选择。.ToString()是一个实例方法,它要求对象的字符串表示形式。当对象为空时,这将抛出异常。(string)是对字符串类型的转换,在大多数情况下这不是一个好主意,除了简单的数据类型,因为它可以在它为null或无效转换时中断(抛出异常)Convert.ToString()进行更多检查比简单的铸造,提供更强大的铸造替代品。当对象为null时,它返回一个空字符串。不要挑剔,但null是String对象的有效值。所以(string)null不会抛出任何异常。试一试:以上就是《C#学习教程:字符串强制转换》的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——usingSystem;命名空间测试{类程序{publicstaticvoidMain(string[]args){strings=(string)null;控制台.WriteLine(s);}}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
