关于 overrride ToString() 的问题
public override string ToString(){
return face + "of" + suit;
}
这是在一个Card类里写的,我在调试的时候 如下:
public Card DealCard()
{
if (currentCard < deck.Length)
{
return deck[currentCard++];
}
else
{
return null;
}
}
public void RealDealCard()
{
for (int i = 0; i < 13; i++)
{
Console.WriteLine("{0,-20}{1,-20}{2,-20}{3,-20}"
,DealCard(),DealCard(),DealCard(),DealCard());
// Console.Write("{0,-10}{1,-10}{2,-10}{3,-10}", "1", "2", "3", "4");
}
}
调试代码执行的顺序总是先return 4次,然后跳转到ToString() 然后才出结果
我想请问一下各位高手,tostring()这个方法 是不是隐式调用的?
什么情况下会隐式调用,还有 Override 的作用是??
谢谢各位 --------------------编程问答-------------------- Override 覆盖父类的方法或者属性
tostring()这个方法,在你的card对像转换成字符串的时候会自动调用。
--------------------编程问答-------------------- 请参阅MSDN关于WriteLine的解释:
http://msdn.microsoft.com/zh-cn/library/swx4tc5e.aspx --------------------编程问答-------------------- 请参阅MSDN关于Override的说明:
http://msdn.microsoft.com/zh-cn/library/ebca9ah3.aspx
补充:.NET技术 , C#