c# – 字符串转换

前端之家收集整理的这篇文章主要介绍了c# – 字符串转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么会有这样的方式转换为.net中的字符串?我看到的方法是.ToString,Convert.ToString()和(string).有什么不同.

解决方法

Convert.ToString(OBJ)

将指定的值转换为其等效的字符串表示形式.如果指定的值为null,则返回String.Empty.

obj.ToString()

返回一个表示当前对象的字符串.此方法返回一个人类可读的文本敏感字符串.例如,对于值为0的Double类的实例,Double.ToString的实现可能会返回“0.00”或“0,00”,这取决于当前的UI文化.默认实现返回Object的类型的完全限定名.

派生类中可以覆盖此方法,以返回对该类型有意义的值.例如,基本数据类型(如Int32)实现ToString,以便它返回对象所代表的值的字符串形式.需要对ToString提供的字符串格式进行更多控制的派生类必须实现IFormattable,其ToString方法使用当前线程的CurrentCulture属性.

(串)目标文件

这是一个演员操作,而不是一个函数调用.如果您确定对象的类型为字符串,或者它具有可以将其转换为字符串的隐式或显式运算符,请使用它.如果对象为null,则返回null,该类型为String或实现自定义转换为字符串运算符的类型.参见例子.

obj作为字符串

安全投掷操作.与上述相同,但是如果转换操作失败,则不会抛出异常,它将返回null.

提示:不要忘记使用CultureInfo与obj.ToString()和Convert.ToString(obj)

例:

12345.6D.ToString(CultureInfo.InvariantCulture);          // returns 12345.6
12345.6D.ToString(CultureInfo.GetCultureInfo("de-DE"));   // returns 12345,6
Convert.ToString(12345.6D,CultureInfo.InvariantCulture); // returns 12345.6
Convert.ToString(12345.6D,CultureInfo.GetCultureInfo("de-DE"));  // 12345,6
Convert.ToString(test);  // String.Empty,"test" is null and it's type
                         // doesn't implement explicit cast to string oper.
Convert.ToString(null);  // null
(string) null;           // null
(string) test;           // wont't compile,"test" is not a string and
                         // doesn't implement custom cast to string operator
(string) test;           // most likely NullReferenceException,// "test" is not a string,// implements custom cast operator but is null
(string) test;           // some value,"test" is not a string,// implements custom cast to string operator
null as string;          // null

以下是自定义投放运算符的示例:

public class Test
{
    public static implicit operator string(Test v)
    {
        return "test";
    }
}

猜你在找的C#相关文章