Object.ToString メソッド

定義

現在のオブジェクトを表す文字列を返します。

public:
 virtual System::String ^ ToString();
public virtual string ToString ();
public virtual string? ToString ();
abstract member ToString : unit -> string
override this.ToString : unit -> string
Public Overridable Function ToString () As String

戻り値

現在のオブジェクトを表す文字列。

注釈

この API の詳細については、「 Object.ToString の補足 API 解説」を参照してください。

注意 (継承者)

独自の型を実装するときは、 メソッドを ToString() オーバーライドして、それらの型に意味のある値を返す必要があります。 提供するよりも ToString() 書式設定をより細かく制御する必要がある派生クラスは、 インターフェイスを IFormattable 実装できます。 その ToString(String, IFormatProvider) メソッドを使用すると、書式設定を制御する書式指定文字列を定義し、カルチャ固有の書式設定に提供できるオブジェクトを使用 IFormatProvider できます。

メソッドのオーバーライドは、 ToString() 次のガイドラインに従う必要があります。

  • 返される文字列は、人間がわかりやすく読みやすくする必要があります。

  • 返される文字列は、オブジェクト インスタンスの値を一意に識別する必要があります。

  • 返される文字列は、デバッガーによる表示に適した短い文字列にする必要があります。

  • ToString()オーバーライドでは、または null 文字列を返Emptyさないでください。

  • ToString()オーバーライドによって例外がスローされないようにする必要があります。

  • インスタンスの文字列表現がカルチャに依存する場合、または複数の方法で書式設定できる場合は、 インターフェイスを実装します IFormattable

  • 返される文字列に機密情報が含まれている場合は、まず適切なアクセス許可を要求する必要があります。 要求が成功した場合は、機密情報を返すことができます。それ以外の場合は、機密情報を除外する文字列を返す必要があります。

  • ToString()デバッグの複雑さを回避するために、オーバーライドに観察可能な副作用を含めないようにする必要があります。 たとえば、 メソッドの呼び出しで ToString() インスタンス フィールドの値を変更することはできません。

  • 型が解析メソッド (またはParseTryParseメソッド、コンストラクター、または文字列から型のインスタンスをインスタンス化するその他の静的メソッド) を実装している場合は、メソッドによってToString()返される文字列をオブジェクト インスタンスに変換できることを確認する必要があります。

適用対象

こちらもご覧ください