我在 Google 和这个网站上都进行了搜索以找到答案。我也在我的课本上看过,但我仍然不明白它是如何应用的。
这是我知道的:
它用于显示对象对自身的了解。
它可用于格式化关于它对自身的了解的输出。
已在要使用的方法中覆盖。
最佳答案
认为你有一个像这样的类:
public class Person
{
public string FirstName { get; set;}
public string LastName { get; set;}
private string age;
}
使用这个:
public override string ToString()
{
return string.Format("[First Name: {0}; Last Name: {1}; Age: {2}]", FirstName, LastName, age);
}
将揭示该类的所有内部结构。实际上它最适合用于以预格式化的方式快速检索类的公共(public)字段(从而有效地将封装在类中的数据转换为字符串)。
此外,Pro C# 2010 and the .NET 4 Platform 一书中还有一个非常有用的建议:“您创建的许多类(和结构)都可以从重写 ToString() 中获益,以便返回类型当前状态的字符串文本表示。这对于调试目的(以及其他原因)非常有帮助。您选择如何构造此字符串是个人选择的问题;但是,推荐的方法是将每个名称分开/value 与分号成对并将整个字符串括在方括号中。但是,请始终记住,正确的 ToString() 覆盖还应该考虑在继承链上定义的任何数据。当您为扩展自定义的类覆盖 ToString() 时基类,首要任务是使用 base 关键字从父类获取 ToString() 值。一旦获得父类的字符串数据,就可以附加派生类的自定义信息。”
关于c# - ToString() 方法如何在类中被覆盖和格式化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657991/