标题中的问题。调用Write方法时到底发生了什么?如果我有这样的代码:
int [] t = new int[]{2,1};
Console.Write(t);
是否有任何可能性,如果不改变Write方法参数(不添加[0]),将显示数字2? (数组的第一个元素)这个代码在不同的.NET框架版本中会得到相同的结果吗?
为什么这个方法不写y的类型? (System.Int32 [])
答案 0 :(得分:2)
不,这是不可能的,因为您必须重新定义Int32 []的toString()
方法。
Console.Write(t)只是Console.Write(t.toString())
而t.toString()
是Int32[].toString()
。
Int32[].toString()
的行为只是返回类型,在本例中为System.Int32[]
。
因此,要回答您的问题,请不要让Int32[].toString()
返回第一个索引的toString()
。