Efeitos colaterais e expressões
Um efeito colateral ocorre quando avaliar uma expressão altera o valor dos dados em seu aplicativo.
Efeitos colaterais serão algo para inspecionar se você estiver avaliando expressões no depurador. Se você avaliar uma expressão na janela Inspeção ou a caixa de diálogo QuickWatch e a expressão tiverem efeitos colaterais, poderá alterar o valor de variáveis em outra parte de seu programa sem realizá-la. Os efeitos colaterais podem dificultar a depuração criando a aparência de bugs onde não houver ou mascarando a aparência de bugs reais.
Uma causa comum dos efeitos colaterais é avaliar uma chamada de função em uma janela do depurador. Essas avaliações geralmente são perceptíveis. Uma causa mais sutil dos efeitos colaterais é a avaliação das propriedades e outras chamadas de função implícitas em código gerenciado.
O depurador não pode saber se uma avaliação de propriedade ou chamada de função implícita tem efeitos colaterais. Consequentemente, por padrão, o depurador não avalia chamadas de função implícitas automaticamente. A avaliação da propriedade é permitida por padrão, mas pode ser desativada na caixa de diálogo Opções. Quando uma chamada de função ou propriedade não tiver sido avaliada, um ícone de atualização é exibido. Você pode avaliar a expressão manualmente clicando no ícone de atualização. Para obter detalhes, consulte Como atualizar valores de inspeção.
Quando a avaliação das propriedades ou chamadas de função implícitas estiver desativada, você poderá forçar a avaliação usando o modificador de formato de ac (apenas para C#). Consulte Especificadores de formato em C#.