Вызов Console.WriteLine(obj.ToString())
и Console.WriteLine(obj)
по-видимому, то же самое, но вы вызываете различные методы.
Если вы звоните Console.WriteLine(object), то подтверждение не выполняется. Если отрицательный, вызывается метод объекта ToString()
.
Если вы звоните Console.WriteLine(string), то подтверждение не выполняется. Если отрицательный, строка записывается напрямую.
Как правило, просто отправьте объект в порядке, проигнорируйте вызов метода ToString()
. Это избыточно. Если вы это называете, убедитесь, что вы не попадаете в ловушку null
. Назову это так: obj?.ToString()
или быть более явным с null
:
Console.WriteLine(obj == null ? "NULL" : obj);
Это то же самое. В обоих случаях '.ToString' будет называться –
Да, однако вопрос в том, что лучше использовать и почему? Или это зависит от вас? – What
Нет никакой разницы с точки зрения использования. Так что это зависит от ваших личных \ предпочтений команды. Единственное различие заключается в том, что Console.WriteLine может ничего не отображать, если 'obj' равно null, а' obj.ToString() 'будет терпеть неудачу с NRE –