次の方法で共有


方法 : ToString メソッドをオーバーライドする (C# プログラミング ガイド)

更新 : 2007 年 11 月

C# では、すべてのオブジェクトが ToString メソッドを継承します。このメソッドは、該当するオブジェクトの文字列形式を返します。たとえば、int 型の変数はすべて ToString メソッドを持ち、次のようにその変数の内容を文字列として返すことができます。

int x = 42;
string strx = x.ToString();
System.Console.WriteLine(strx);

カスタムのクラスまたは構造体を作成するときは、クライアント コードにカスタム型の情報を提供するため、ToString メソッドをオーバーライドする必要があります。

ms173154.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このメソッドを使用して提供する情報を決定するときは、作成したクラスまたは構造体が信頼関係のないコードによって使用されるかどうかを考慮します。悪意があるコードで利用される可能性がある情報を提供しないように注意してください。

クラスまたは構造体内の OnString メソッドをオーバーライドするには

  1. 次の修飾子および戻り値の値を指定して、ToString メソッドを定義します。

    public override string ToString(){}
    
  2. 文字列を返すようにメソッドを実装します。

    次の例では、クラス名だけでなく、特定のクラス インスタンスに固有のデータも返されます。また、age 変数に対して ToString メソッドを実行し、int を出力可能な文字列に変換します。

    class Person
    { 
      string name;
      int age;
      SampleObject(string name, int age)
      {
      this.name = name;
      this.age = age;
      }
      public override string ToString() 
      {
         string s = age.ToString();
         return "Person: " + name + " " + s;
      }
    }
    

参照

概念

C# プログラミング ガイド

参照

クラスと構造体 (C# プログラミング ガイド)

new (C# リファレンス)

override (C# リファレンス)

virtual (C# リファレンス)