- Convert.ToString(): Convert.ToString()メソッドは、引数として渡されたオブジェクトを文字列に変換します。このメソッドは、null安全であり、引数がnullの場合でも例外をスローせずに空の文字列を返します。また、オブジェクトの型に応じた適切な変換を行います。例えば、数値や日付などの特定の型に対しても正確な変換が行われます。
以下は、Convert.ToString()の使用例です。
int number = 10;
string numberString = Convert.ToString(number);
Console.WriteLine(numberString); // 結果: "10"
DateTime date = DateTime.Now;
string dateString = Convert.ToString(date);
Console.WriteLine(dateString); // 結果: "2024/03/07 15:30:00"(現在の日時による結果)
- .ToString(): .ToString()メソッドもオブジェクトを文字列に変換しますが、Convert.ToString()とは異なる挙動を持ちます。このメソッドは、各オブジェクトが自身のToString()メソッドを実装しているかどうかに依存します。オブジェクトがToString()メソッドを実装している場合、そのメソッドが呼び出され、オブジェクト固有の文字列表現が返されます。一方、オブジェクトがToString()メソッドを実装していない場合、基底クラスのObjectクラスのToString()メソッドが呼び出され、オブジェクトの型名が返されます。
以下は、.ToString()の使用例です。
int number = 10;
string numberString = number.ToString();
Console.WriteLine(numberString); // 結果: "10"
DateTime date = DateTime.Now;
string dateString = date.ToString();
Console.WriteLine(dateString); // 結果: "2024/03/07 15:30:00"(現在の日時による結果)
注意点として、.ToString()メソッドはnull安全ではないため、オブジェクトがnullの場合にはNullReferenceExceptionがスローされます。そのため、オブジェクトがnullである可能性がある場合には、事前にnullチェックを行う必要があります。
以上がConvert.ToString()と.ToString()の違いと使い方についての解説です。適切なメソッドを選択してオブジェクトを文字列に変換することで、プログラムの柔軟性と安全性を向上させることができます。