Ich habe gerade einen Fehler in meinem Programm gefunden (nach einigem Debuggen und Haare reißen)
%Vor% Wie Sie sehen können first
ist immer true
- nie geändert. Also if(!first)
ist im Grunde if(false)
.
Der Compiler hat keine Warnung generiert, obwohl er auf Stufe 4 (höchste Stufe) gesetzt ist.
Wie kann ich ähnliche if(false)
Fehler finden?
Ich verwende VS 2010, .Net 4.0 Compiler, Projekteinstellung .Net 2.0
Ich stimme zu, dass Resharper ein gutes Werkzeug zu haben ist, aber ich möchte hinzufügen, dass ich denke, dies zeigt einen Grund, dieses Konstrukt NICHT zu verwenden.
Eine Alternative könnte sein:
BEARBEITEN:
%Vor%Wir müssen oft eine spezielle Handhabung für das erste Element haben, manchmal ist es besser, die Logik zu ändern und die gesamte Verarbeitung zu vereinheitlichen. Wenn wir das nicht können, dann bevorzuge ich es immer, die Spezialfallbehandlung von den restlichen Elementen klar zu trennen, statt sie zu verschachteln.
Der Compiler warnt Sie vor offensichtlichen Dingen wie unerreichbarem Code, der auf einem konstanten Wert in der if-Anweisung basiert - z. "wenn (falsch)". Da die Variable jedoch geändert werden kann, wird sie in diesem Fall leider nicht funktionieren.
Tags und Links c# visual-studio-2010 debugging