C#重写ToString

 C# 中的每个类或结构都可隐式继承 <System.Object> 类。

因此,C# 中的每个对象都会获取 <System.Object.ToString()> 方法,该方法返回该对象的字符串表示形式。 例如,类型为 int 的所有变量都有一个 ToString 方法,使它们可以将其内容作为字符串返回:

int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
// 42

创建自定义类或结构时,应替代 <System.Object.ToString()> 方法,以向客户端代码提供有关你的类型的信息。

若要深入了解如何通过 ToString 方法使用格式字符串和其他类型的自定义格式设置

注:决定通过此方法提供信息内容时,请考虑你的类或结构是否会被不受信任的代码使用。 请务必确保不提供可能被恶意代码利用的任何信息。

 

替代类或结构中的 ToString 方法

  1. 声明具有下列修饰符和返回类型的 ToString 方法:

    public override string ToString(){}

     

  2. 实现该方法,使其返回一个字符串。

    下面的示例返回类的名称,但特定于该类的特定实例的数据除外。

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

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

    Person person = new Person { Name = "John", Age = 12 };
    Console.WriteLine(person);
    // Output:
    // Person: John 12

     

posted on 2017-07-05 22:39  Arthurian  阅读(2196)  评论(0编辑  收藏  举报