Convert.ToString(obj)
将指定值转换为其等效的字符串表示形式。将返回String.Empty
如果指定值为null
.
obj.ToString()
返回表示当前对象的字符串。此方法返回一个人类可读的区域性敏感字符串。例如,对于值为零的 Double 类的实例,Double.ToString 的实现可能会返回“0.00”或“0,00”,具体取决于当前 UI 区域性。默认实现返回对象类型的完全限定名称。
可以在派生类中重写此方法以返回对该类型有意义的值。例如,基本数据类型(例如 Int32)实现 ToString,以便它返回对象表示的值的字符串形式。需要比 ToString 提供的更多字符串格式控制的派生类必须实现 IFormattable,其 ToString 方法使用当前线程的 CurrentCulture 属性。
(string)obj
这是强制转换操作,而不是函数调用。如果您确定该对象是字符串类型或者它具有可以将其转换为字符串的隐式或显式运算符,请使用它。将返回null
如果该物体是null AND of type String or of type which implements custom cast to string operator. See examples.
obj as string
安全铸造操作。与上面相同,但它不会抛出异常,而是返回null
如果强制转换操作失败。
Hint:不要忘记将 CultureInfo 与obj.ToString()
and Convert.ToString(obj)
Example:
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";
}
}