副作用と式
このトピックの内容は、次の製品に該当します。
エディション |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro、Premium、Ultimate |
副作用は、式の評価によってアプリケーションのデータ値が変わるときに発生します。
デバッガーで式を評価するときは、副作用に注意する必要があります。 [ウォッチ] ウィンドウまたは [クイック ウォッチ] ダイアログ ボックスで式を評価する際に式に副作用があると、気付かないうちに、プログラムの別の部分にある変数値が変わることがあります。 副作用があると、バグではないのにバグと表示されたり、実際のバグが表示されなくなったりして、デバッグが困難になります。
副作用の一般的な原因の 1 つとして、デバッガー ウィンドウで関数呼び出しを評価することが挙げられます。 このような評価は、通常、気付きやすいものです。 副作用の原因としてわかりづらいのは、マネージ コードでのプロパティの評価および暗黙的な関数呼び出しです。
デバッガーは、プロパティの評価や暗黙的な関数呼び出しに副作用があることを判断できません。 そのため、既定では、デバッガーは暗黙的な関数呼び出しを自動的に評価しません。 プロパティの評価は既定で許可されていますが、[オプション] ダイアログ ボックスでオフに設定できます。 関数呼び出しまたはプロパティが評価されなかったときは、更新アイコンが表示されます。 更新アイコンをクリックすると、手動で式を評価できます。 詳細については、「方法 : ウォッチ値を再表示する」を参照してください。
プロパティの評価または暗黙的な関数呼び出しがオフに設定されている場合でも、ac 書式修飾子を使用して、強制的に評価できます (C# の場合のみ)。 C# の書式指定子 を参照してください。