如何在C#中重写ToString()方法?

如何在C#中重写ToString()方法?,c#,overriding,C#,Overriding,我想重写Tostring()方法来更改某些字符。可能吗?如果是,我该如何执行此操作?在您要在其中重写它的类中,添加: public override string ToString() { // return your string representation } 在要重写ToString函数的类中添加以下内容: public override string ToString() { // Add your implementation here } 参见第页的示例 您只需尝试

我想重写Tostring()方法来更改某些字符。可能吗?如果是,我该如何执行此操作?

在您要在其中重写它的类中,添加:

public override string ToString()
{
  // return your string representation
}

在要重写ToString函数的类中添加以下内容:

public override string ToString()
{
    // Add your implementation here
}
参见第页的示例


您只需尝试编写公共覆盖,然后Visual Studio将为您创建如下方法:

 public override string ToString()
 {
      // Implement your own code and return desired string
 }
根据您的问题,要更改
ToString
实现中的某些字符,您需要使用
base
关键字调用现有的
ToString
方法:

public override string ToString()
{
    return base.ToString().Replace("something", "another thing");
}

请注意,如果您忘记了
base
关键字,它将重复调用自己,直到您得到
StackOverflowException

如果有人想找到“如何重写ToString()方法”的一般答案,我写了一篇帖子,“。”

总之,以下技术可用于简化ToString()的创建:

  • JSON序列化(DataContractJsonSerializer、JSON.NET或NuGet包JsonValue)

  • XmlSerialize

  • 林帕德

  • 文本

  • public override string ToString()
    {
        return base.ToString().Replace("something", "another thing");
    }