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

发布于 2024-08-22 19:15:09 字数 48 浏览 4 评论 0原文

我想重写 Tostring() 方法来更改某些字符。是否可以?如果是,我该怎么做?

I want to override the Tostring() method for changing some characters. Is it possible? If yes, How can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

无悔心 2024-08-29 19:15:09

在您想要覆盖它的类中,添加:

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

In your class where you want to override it in, add:

public override string ToString()
{
  // return your string representation
}
雨落□心尘 2024-08-29 19:15:09

根据您的问题,要更改 ToString 实现中的某些字符,您需要使用 base 调用现有的 ToString 方法 关键字:

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

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

As per your question, to change some characters in the ToString implementation, you need to call the existing ToString method by using the base keyword:

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

Note that if you forget the base keyword it will call itself repeatedly until you get a StackOverflowException.

幽梦紫曦~ 2024-08-29 19:15:09

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

public override string ToString()
{
    // Add your implementation here
}

Add the following in the class you want to override the ToString function:

public override string ToString()
{
    // Add your implementation here
}
睡美人的小仙女 2024-08-29 19:15:09

请参阅 MSDN 中的示例。

public override String ToString() 
{
    return String.Format("Test {0}", 101);
}

See example at MSDN.

public override String ToString() 
{
    return String.Format("Test {0}", 101);
}
云雾 2024-08-29 19:15:09

您所需要的只是尝试编写 public override,然后 Visual Studio 将为您创建方法,如下所示:

 public override string ToString()
 {
      // Implement your own code and return desired string
 }

All you need is to try to write public override, and then Visual Studio will create the method for you like this:

 public override string ToString()
 {
      // Implement your own code and return desired string
 }
滿滿的愛 2024-08-29 19:15:09

如果有人寻找“如何重写 ToString() 方法”的一般答案,我写了一篇文章,“使用 JSON 序列化或其他方式覆盖 ToString()。"

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

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

  2. XmlSerialize

  3. LINQPad 的 将任意对象转储到 HTML 字符串

  4. ServiceStack.Text C# .NET 扩展方法:T.Dump();

If someone looks for a general answer to "How to override the ToString() method", I've written a post, "Override ToString() using JSON serialization or something else."

In a summary, the following technologies can be used to simplify creation of ToString():

  1. JSON serialization (either DataContractJsonSerializer, JSON.NET or the NuGet package JsonValue).

  2. XmlSerialize

  3. LINQPad's dump an arbitrary object to an HTML string

  4. ServiceStack.Text C# .NET Extension method: T.Dump();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文