Condividi tramite


Espressioni ed effetti secondari

Un effetto secondario si verifica quando la valutazione di un'espressione comporta la modifica del valore dei dati dell'applicazione.

Quando si valutano le espressioni nel debugger, occorre prestare attenzione agli effetti secondari. Se si valuta un'espressione che presenta effetti secondari nella finestra Espressioni di controllo o nella finestra di dialogo Controllo immediato, è possibile che il valore di variabili venga modificato inavvertitamente in altre parti del programma. Gli effetti secondari possono complicare il debug dando l'impressione che siano presenti bug, in realtà inesistenti, o mascherando bug reali.

Una causa comune degli effetti secondari è la valutazione di una chiamata di funzione in una finestra del debugger. Tali valutazioni sono in genere facilmente individuabili. Una causa meno evidente di effetti secondari è la valutazione di proprietà o altre chiamate di funzioni implicite nel codice gestito.

Il debugger non è in grado di segnalare se una valutazione di proprietà o una chiamata di funzione implicita presenta effetti secondari. Pertanto, per impostazione predefinita, il debugger non valuta automaticamente le chiamate di funzioni implicite. La valutazione delle proprietà è consentita per impostazione predefinita, ma può essere disattivata nella finestra di dialogo Opzioni. Quando una chiamata di funzione o una proprietà non viene valutata, viene visualizzata un'icona di aggiornamento. È possibile valutare manualmente l'espressione facendo clic su tale icona. Per informazioni dettagliate, vedere Procedura: aggiornare i valori delle espressioni di controllo.

Quando la valutazione di proprietà o chiamate di funzione implicite è disattivata, è possibile imporla utilizzando il modificatore di formato ac (solo per C#). Per informazioni, vedere Identificatori di formato in C#.

Vedere anche

Attività

Procedura: aggiornare i valori delle espressioni di controllo