В проектах C #, если щелкнуть правой кнопкой мыши имя переменной в одном из окон переменных и выбрать «создать идентификатор объекта», Visual Studio назначит уникальный идентификатор этому экземпляру и отобразит его в столбце «Значение».Идентификаторы выглядят как {1 #}, {2 #} и т. Д. Если два объекта имеют одинаковые идентификаторы, то они идентичны.
В коде или в окне Immediate вы также можете проверить, идентичны ли два объекта, используя Object.ReferenceEquals ().
Я не верю, что есть хороший способ получитьфактический адрес памяти для объекта в отладчике.Я предполагаю, что это сделано специально, поскольку расположение объекта в памяти может измениться во время сбора мусора в управляемом приложении.Конечно, вы можете объявить небезопасный блок, закрепить объект и получить указатель на него, используя все обычные операторы C / C ++.Тогда вы сможете увидеть значение указателя в отладчике.Однако я не рекомендовал бы это как хорошую привычку - закрепление объектов имеет тенденцию портить способность сборщика мусора поддерживать упорядоченную кучу, что, в свою очередь, может привести к ухудшению производительности и потребления памяти.