1. 程式人生 > >C#和C++程式碼摺疊功能

C#和C++程式碼摺疊功能

最近寫畢設的程式,遇到個很揪心的問題就是當代碼達到一定規模時,程式碼會變得非常紊亂,既不方便閱讀,也不方便除錯,更不方便查錯。有一點要強調,如果你把你的程式碼寫成好多的過程或方法,那麼VS IDE是可以把每個過程或方法摺疊或是展開的,這一定程度上能夠緩解程式碼的紊亂,但是當你的程式規模達到一定規模的時候,會遇到這種情況,那就是在一個裡方法也有很長的程式碼,這個時候沒有了程式碼的摺疊和展開功能,你是否覺得很不爽呢??反正我是這麼覺得的(這種情況微軟哪一幫VS團隊的開發人員不會沒考慮到,畢竟人家寫的程式可是比我們大多數人寫的都要大的多,幸運的是,微軟已經提供瞭解決方案),當然你也可以在VS IDE裡選中一段程式碼,按快捷鍵Ctrl+M+H可以摺疊選中的程式碼,但是此種摺疊方法並不會被儲存,當你退出IDE後再次進入工程時,上次程式碼的摺疊已不復存在。那麼有沒有一種可以保存摺疊效果的方法呢??答案是肯定的。 在C#(這裡要說明,C#出自.net,所以只要是基於.net的語言都是可以這麼用的,比如ASP,ASP.net等)中,我們可以使用#region        #endregion    關鍵字來申明一段程式碼區。 eg: #region  引數定義 int A; ..... #endregion 你會驚奇的發現,在#region        #endregion間的程式碼段已經可以摺疊或是展開了,而且是永久有效的。另外要說明的是:#region是可以巢狀的,用法跟C,C++語言裡的{}用法是一樣的,如: #region  引數定義 #region  整型引數 int a; ...... #endregion #region  字串型引數 string name; ...... #endregion
..... #endregion 在C++中,這樣的功能同樣可以實現,只是用法略有不同,在C++中可以使用#pragma region  #pragma endregion關鍵字來實現相同的功能 如: #pragma region 變數宣告  int i;
#pragma endregion 變數宣告
此關鍵字同樣可以巢狀,這裡不再詳細舉例,讀者可參看C#裡的用法。請注意C++與C#用法的區別 另外要說明的是,以上方法只有VS IDE編譯器能夠識別,特別C++語言,切勿把存在程式碼分割槽的程式碼用別的編譯器編譯,否則編譯器會出現不能夠識別#pragma,#region等關鍵字的情況,而且,在低版本的VS IDE也可能會存在類似情況,不過可以肯定在VS 2005以後的版本都是能夠識別的。