类返回的默认值

本文关键字:默认值 返回 | 更新日期: 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.FormatConsole.WriteConsole.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;
    }

}