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 |