类返回的默认值
本文关键字:默认值 返回 | 更新日期: 2023-09-27 17:57:42
我在c#中创建了一个小的自定义类来存储扑克牌的数据:
public class Card
{
public string suit { get; set; }
public int number { get; set; }
public string val
{
get
{
return number+" of "+suit;
}
}
}
如果有一个类型为Card
的变量,并且刚刚打印card.toString()
,它将打印名称空间、窗口名和类名。有没有一种方法可以通过引用card
打印出值val
?
使用override
关键字。
public override string ToString()
{
return number+" of "+suit;
}
是的,您只需要覆盖ToString()
方法(来自Object
)。
public override string ToString()
{
return val;
}
这也是您在检查对象时在Visual Studio调试器中看到的默认值。
由于这种重载,一些方法(如String.Format
、Console.Write
、Console.WriteLine
…)将使用这种新的字符串表示,而无需自己调用ToString。
Console.WriteLine(card);
相当于:
Console.WriteLine(card.ToString());
这将相当于(超控后):
Console.WriteLine(card.val);
public class Card
{
public string suit { get; set; }
public int number { get; set; }
public string val
{
get
{
return number+" of "+suit;
}
}
public override string ToString()
{
return val;
}
}