2012-04-11 6 views
6

In fase di debug, a volte ho trovato la necessità di confrontare i riferimenti agli oggetti nella finestra di controllo per vedere se due variabili fanno effettivamente riferimento allo stesso oggetto.Un modo per mostrare/confrontare riferimenti oggetto nella finestra di controllo?

Con C++ e puntatori questo è facile, ma esiste un modo per farlo con i riferimenti C#?

+0

possibile duplicato di [Tipi di riferimento univoci identificativi nel debugger] (http://stackoverflow.com/questions/4251450/uniquely-identifying-reference-types-in-the-debugger) –

risposta

13

Esiste in realtà una funzionalità incorporata per confrontare gli oggetti nella finestra di controllo che non richiede di chiamare direttamente alcuna funzione. E 'nel menu del tasto destro come "Make Object ID"

Make Object ID

Esso segnerà l'oggetto con un ID, e poi si può aggiungere un secondo oggetto e segnare con un id pure. Se quegli oggetti sono lo stesso riferimento, avranno lo stesso ID. Questo ti permette di vedere se/quando cambiano durante il debug.

+0

Fantastico. Questo è molto più facile e più vicino a quello che volevo. Grazie. – GazTheDestroyer

+1

L'ID viene visualizzato all'estremità destra della colonna Valore. Potrebbe essere necessario ingrandire la colonna Valore per vederlo. –

5
object.ReferenceEquals(objA, objB) 
+0

Non sapevo che potevi chiamare funzioni nella finestra di controllo! Grazie! – GazTheDestroyer