У меня есть вопрос о следующем коде:Console.WriteLine основы
class CurrentDate
{
static void Main()
{
Console.WriteLine(DateTime.Now);
}
}
Документация говорит:
Записывает текстовое представление указанного массива объектов, следуют текущей линии терминатора , в стандартный выходной поток с использованием указанной информации о формате.
Так что мой вопрос: Какой WriteLine
знает текстовое представление DateTime
объекта? Я имею в виду, если я создаю свой собственный объект из своего собственного класса, как он узнает, как преобразовать значение в текст? И даже больше, как он знает, что такое ценность? Как вы можете определить «значение» объекта?
См. Https://msdn.microsoft.com/en-gb/library/ms173154%28v=vs.80%29.aspx – adaam
Обратите внимание, что инспектор объектов Visual Studio Debugger также использует очень похожий механизм ('MyClass.toString '), чтобы выяснить, что печатать как значение, когда объект отображается как одна строка. – Superbest
'Console.WriteLine()' неявно вызывает 'ToString()', поэтому для вашего собственного объекта вам необходимо реализовать/переопределить метод ToString(). – Jaider