C# のすべてのクラスまたは構造体は、Object クラスを暗黙的に継承します。 したがって、C# のすべてのオブジェクトは、そのオブジェクトの文字列表現を返す ToString メソッドを取得します。 たとえば、int
型のすべての変数には ToString
メソッドがあり、その内容を文字列として返します。
int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
// 42
カスタム クラスまたは構造体を作成するときは、型に関する情報をクライアント コードに提供するために、ToString メソッドをオーバーライドする必要があります。
ToString
メソッドを使用して書式指定文字列やその他の種類のカスタム書式を使用する方法については、「書式設定の種類を参照してください。
重要
このメソッドを使用して提供する情報を決定するときは、クラスまたは構造体が信頼されていないコードによって使用されるかどうかを検討します。 悪意のあるコードによって悪用される可能性のある情報を提供しないように注意してください。
クラスまたは構造体の ToString
メソッドをオーバーライドするには:
次の修飾子と戻り値の型を使用して、
ToString
メソッドを宣言します。public override string ToString(){}
文字列を返すようにメソッドを実装します。
次の例では、クラスの特定のインスタンスに固有のデータに加えて、クラスの名前を返します。
class Person { public string Name { get; set; } public int Age { get; set; } public override string ToString() { return "Person: " + Name + " " + Age; } }
次のコード例に示すように、
ToString
メソッドをテストできます。Person person = new() { Name = "John", Age = 12 }; Console.WriteLine(person); // Output: // Person: John 12
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET