#if (DEBUG) (.NET) (C#)--转载
Introduction
preprocessor
directive並不是什麼新東西,這在C語言就有的,如有些API在Windows 98和Windows XP不一樣,就得用preprocessor
directive,讓不同的平台用不同的API。C#也可使用preprocessor
directive,尤其用在debug時,非常方便。
我們常會有debug code,如try
catch時,若有exception要顯示錯誤訊息,但真正發布產品時,則不希望顯示錯誤訊息,所以希望能留住debug
code,以便日後debug,若用//或的方式將debug code暫時當註解,常常遇到產品真正發布時,忘了將debug
code拿掉的窘境,事實上,當使用debug mode時,C#自動定義了
#define DEBUG
所以我們可以用#if (DEBUG)來留住debug code。
我們希望在debug mode時,能顯示exception message,但release mode時則不顯示,若用#if (DEBUG)來寫,再也不用擔心debug code忘記拿掉的問題,只要切換debug mode和release mode,就可輕鬆顯示debug code,而且Visual Studio 2005也會在切換debug和release時,動態改變code的顏色,讓你立刻知道哪些code會執行到。