Nebeneffekte und Ausdrücke
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium und Ultimate |
Ein Nebeneffekt tritt auf, wenn bei der Auswertung eines Ausdrucks ein Datenwert in der Anwendung geändert wird.
Wenn Ausdrücke im Debugger ausgewertet werden, sollten Sie besonders auf die Nebeneffekte achten. Wenn Sie einen Ausdruck im Fenster Überwachen oder im Dialogfeld Schnellüberwachung auswerten und dieser Nebeneffekte aufweist, könnten Sie unbewusst den Wert von Variablen aus einem anderen Teil des Programms ändern. Nebeneffekte können das Debuggen erschweren, indem sie fälschlicherweise den Anschein von Fehlern erwecken oder indem sie tatsächliche Fehler verdecken.
Eine häufige Ursache von Nebeneffekten ist die Auswertung eines Funktionsaufrufs in einem Debuggerfenster. Solche Auswertungen sind normalerweise auffällig. Eine unauffälligere Ursache für Nebeneffekte ist die Auswertung von Eigenschaften und anderen impliziten Funktionsaufrufen in verwaltetem Code.
Für den Debugger ist nicht erkennbar, ob eine Eigenschaftenauswertung oder ein impliziter Funktionsaufruf Nebeneffekte hat. Aus diesem Grund wertet der Debugger standardmäßig keine impliziten Funktionsaufrufe automatisch aus. Die Eigenschaftenauswertung ist standardmäßig zwar zugelassen, kann aber im Dialogfeld Optionen deaktiviert werden. Wenn ein Funktionsaufruf oder eine Eigenschaft nicht ausgewertet worden ist, wird ein Aktualisierungssymbol angezeigt. Sie können den Ausdruck manuell auswerten, indem Sie auf das Aktualisierungssymbol klicken. Ausführliche Informationen finden Sie unter Gewusst wie: Aktualisieren von Überwachungswerten.
Wenn die Auswertung von Eigenschaften oder impliziten Funktionen deaktiviert ist, können Sie die Auswertung mithilfe des ac-Formatmodifizierers erzwingen (nur für C#). Weitere Informationen finden Sie unter Formatbezeichner in C#.