为什么C#中打印一个对象时,打印出来的是它的类型?
疑问:
如下代码:
int[] nums = { 1, 2, 3 };
Console.WriteLine(nums);
输出为:
System.Int32[]
为什么?
此时是否调用了该对象的ToString()方法?
解释:
在C#中打印对象时,默认调用对象的 ToString() 方法。
但是,Array 没有覆盖 ToString() 方法,所以调用的是其基类 Object 的 ToString() 方法,该方法返回对象类型的全名:
public virtual String ToString()
{
return GetType().ToString();
}
近期评论