Рассмотрим следующее:Проверьте фактический пустой System.Object равно пуст System.Object
var o = new object();
Как я могу проверить, что во время выполнения o
такой же, как new object()
.
Это не удалось:
var o = new object();
var eq1 = o.Equals(new object());
var eq2 = o.Equals(default(object));
var eq3 = o == new object();
var eq4 = Object.Equals(o, new object());
var eq5 = Object.ReferenceEquals(o, new object());
Все из eq
переменных false
.
Редактировать: Я хотел сказать, что o
был new object
и, скажем, не был назначен. По существу, достаточно проверить тип выполнения.
вы имели в виду один и тот же объект в куче? –
@RodrigodeFarias no Я имел в виду, что моя переменная o точно такая же, как 'new object()' и не имеет значения времени выполнения. – zaitsman
@zaitsman: У этого есть время выполнения. Вы думаете о «нулевом», может быть? – leppie