C# Convert.ToString()与.ToString()的区别
2009-04-09 15:46
603 查看
下面的是Convert的源码: public static class Convert { ...... public static string ToString(object value) { return ToString(value, null); } ...... public static string ToString(object value, IFormatProvider provider) { //如果实现了IConvertible接口,自动调用IConvertible接口的实现方法 IConvertible convertible = value as IConvertible; if (convertible != null) { return convertible.ToString(provider); } //如果实现了IFormattable接口,自动调用IFormattable接口的实现方法 IFormattable formattable = value as IFormattable; if (formattable != null) { return formattable.ToString(null, provider); } //如果不为空,自动调用ToString方法 if (value != null) { return value.ToString(); } //如果为空,返回string.Empty return string.Empty; } ...... }[/code] 下面是测试代码: using System; namespace ConvertTest { public class FormattableObject : IFormattable { public string ToString(string format, IFormatProvider formatProvider) { return "This is a formattable string."; } } public class CommonObject { public override string ToString() { return "This is a commonObject."; } } class Program { static void Main(string[] args) { FormattableObject formatObject = new FormattableObject(); Console.WriteLine(Convert.ToString(formatObject)); Console.WriteLine(formatObject.ToString()); CommonObject commonObject = new CommonObject(); Console.WriteLine(Convert.ToString(commonObject)); Console.WriteLine(commonObject.ToString()); commonObject = null; Console.WriteLine(Convert.ToString(commonObject) == string.Empty); Console.ReadKey(); } } }[/code] 输出结果如下: This is a formattable string. Test.FormattableObject This is a commonObject. This is a commonObject. True オブジェクト参照がオブジェクト インスタンスに設定されていません。 |
相关文章推荐
- C# Convert.ToString() 和 .ToString()的区别
- C# ToString()和Convert.ToString()的区别
- C#ToString()、Convert.ToString()、(string)、as string 的区别
- C# ToString()和Convert.ToString()的区别
- c# Convert.ToString()和 .ToString()的区别
- ToString()、Convert.ToString()、(string)、as string 的区别
- Convert.ToString()和ToString()的区别
- C# ToShortDateString() ToString() 设置日期格式的区别
- ToString()、Convert.ToString()、(string)、as string 的区别
- ToString()、Convert.ToString()、(string)、as string 的区别
- ToString()、Convert.ToString()、(string)、as string 的区别
- ToString()、Convert.ToString()、(string)、as string 的区别
- C#中 ToString 和 override ToString 的区别
- ToString()、Convert.ToString()、(string)、as string 的区别
- C#中ToString()/Convert.ToString()/(string)/as string的区别
- ToString()、Convert.ToString()、(string)、as string 的区别
- asp.net ToString格式大全与Convert.ToString区别
- UnicodeToMultiByte,ConvertBSTRToString,std::string,CString的区别
- ToString()、Convert.ToString()、(string)、as string 的区别[转]
- 黑马程序员 (string)obj、ToString()、Convert.ToString() 的区别