加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 字符串转换

发布时间:2020-12-15 06:55:21 所属栏目:百科 来源:网络整理
导读:为什么会有这样的方式转换为.net中的字符串?我看到的方法是.ToString,Convert.ToString()和(string).有什么不同. 解决方法 Convert.ToString(OBJ) 将指定的值转换为其等效的字符串表示形式.如果指定的值为null,则返回String.Empty. obj.ToString() 返回一个
为什么会有这样的方式转换为.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";
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读