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)

例:

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

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

  1. public class Test
  2. {
  3. public static implicit operator string(Test v)
  4. {
  5. return "test";
  6. }
  7. }

猜你在找的C#相关文章