在C#的类或结构中重写ToString方法的用法简介

时间:2021-12-17 03:26:48

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

?
1
2
3
int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);

 

输出:

 

复制代码 代码如下:

 

42

 


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

 

当您决定通过此方法提供的信息的类型时,应考虑您的类或结构是否会被不受信任的代码使用。请务必确保您没有提供任何会被恶意代码利用的信息。
在类或结构中重写 ToString 方法
通过下面的修饰符和返回类型声明 ToString 方法:

?
1
public override string ToString(){}

实现该方法,使其返回一个字符串。
下面的示例返回类的名称以及特定于该类的某个实例的数据。

?
1
2
3
4
5
6
7
8
9
10
class Person
{
  public string Name { get; set; }
  public int Age { get; set; }
 
  public override string ToString()
  {
    return "Person: " + Name + " " + Age;
  }
}

您可以测试 ToString 方法,如下面的代码示例所示:

?
1
2
Person person = new Person { Name = "John", Age = 12 };
Console.WriteLine(person);

 

输出:

?
1
Person: John 12