Нет, ключ в том, что вы должны переопределить реализацию по умолчанию ToString()
, чтобы сделать ее полезной. ToString()
может быть отличным способом вывода значения чего-либо обратно в пользовательский интерфейс.
Простой пример: если у вас есть класс Name с тремя строками (First, Middle, Last). У вас может быть метод ToString()
, который форматирует его для пользовательского интерфейса: например, «Last, First Middle».
Или класс, в котором хранится математическая операция (значения Left = 2, Right = 3, Result = 6 и оператор enum = Multiply). Звоните ToString()
, чтобы получить «2 * 3 = 6».
Однако , вероятно, более распространено использование множества различных To<qualifier>String()
методов, таких как класс .NET DateTime
. (ToShortDateString()
, ToLongDateString()
, ToLongTimeString()
, ...)
Редактировать: Что касается того, почему он укоренен в классе Object
, то просто потому, что ToString()
является допустимой операцией для всего .
Кроме того, строки могут быть хорошим способом маршалинга между типами данных или потребителями данных, поскольку они (практически) гарантированно разбираются и не требуют дополнительного кодирования или заботы.