如何:重写 ToString 方法(C# 编程指南)

更新:2007 年 11 月

C# 中的每个对象都继承 ToString 方法,此方法返回该对象的字符串表示形式。例如,所有 int 类型的变量都有一个 ToString 方法,此方法可让这些变量将其内容作为字符串返回:

int x = 42;
string strx = x.ToString();
System.Console.WriteLine(strx);

创建自定义类或结构时,应该重写 ToString 方法,以便向客户端代码提供类型信息。

安全说明:

当您决定通过此方法提供的信息的类型时,应考虑您的类或结构是否会被不受信任的代码使用。请务必确保您没有提供任何会被恶意代码利用的信息。

在类或结构中重写 OnString 方法

  1. 通过下面的修饰符和返回类型声明 ToString 方法:

    public override string ToString(){}
    
  2. 实现该方法,使其返回一个字符串。

    下面的示例不仅返回类的名称,还返回特定于该类的某个实例的数据。请注意,它还会在 age 变量上使用 ToString 方法,将 int 转换为可输出的字符串。

    class Person
    { 
      string name;
      int age;
      SampleObject(string name, int age)
      {
      this.name = name;
      this.age = age;
      }
      public override string ToString() 
      {
         string s = age.ToString();
         return "Person: " + name + " " + s;
      }
    }
    

请参见

概念

C# 编程指南

参考

类和结构(C# 编程指南)

new(C# 参考)

override(C# 参考)

virtual(C# 参考)