Beim Entwickeln von Anwendungen möchte man oft zusätzliche Informationen ausgeben, oder gar ganz andere Codepfade ausführen lassen, um das Verhalten des Codes zu analysieren. Viele kommentieren hierzu etliche Codezeilen ein und aus und am Ende sieht der Code entweder unsauber aus, oder nützliche Zusatzzeilen werden komplett gelöscht und dürfen beim nächsten Bugfixing oder bei der nächsten Erweiterung wieder neu programmiert werden.

Einfacher ist die Lösung über preprocessor directives! So kann man zum Beispiel ganz einfach Code für Debug und Release hinzufügen, der auch nur dann kompiliert wird, wenn man das Projekt in der entsprechenden Einstellung erstellt. Das hat auch den Vorteil, dass diverse Debug-Anweisungen später im Release keine unerwünschten Fehler auslösen können.

Hier ein Beispiel:
1:#if (DEBUG)
2: return View(GetAllData());
3:#else
4: return RedirectToAction("NextStep");
5:#endif

Beobachtet diese Zeilen in Visual Studio mal, wenn ihr das Projekt zwischen Debug und Relase hin und her schaltet. Der inaktivte Part wird jeweils ausgegraut.