- C#實踐教程(第2版)
- 李乃文
- 1585字
- 2021-03-19 18:15:37
2.9 注釋與調試
程序人員開發出來的程序,在某個類方法中包含幾十行甚至幾百行的代碼,開發人員本人也不能很好地記憶這些代碼的用途。因此在C#中允許有注釋語句。注釋語句可寫在程序中間,但不會被編譯,只供開發人員或維護人員理解程序。
另外,程序是需要調試的,之前運行程序所使用的F5鍵即是程序調試的方法之一,但程序量較大時,代碼所存在的問題可能不止一處,在VS中提供了多種調試方法,以便更好地找到代碼錯誤所在。
本節詳細介紹在VS中,代碼注釋的多種方式,以及程序調試的多種技術。
2.9.1 注釋
注釋是對程序的解釋。一個項目往往需要很多的程序和代碼,而開發人員本人對已經寫過的程序也未必能夠很好記憶。注釋是穿插在程序中的語句,該語句不會被系統編譯,僅供開發人員和維護人員閱讀程序時使用。
在VS 2012中,由按鈕和
按鈕來控制程序中的注釋。對程序寫注釋,可以在程序上方或該條語句后插入,之后選中注釋語句,單擊
按鈕將選中的語句標記為注釋。被標記為注釋的語句顯示為綠色。而
按鈕用來注銷被選中的注釋。
在編寫程序時,有時需要將寫過的程序標記為注釋語句,以判斷程序中的錯誤。因此可以使用按鈕進行標記,并在確認程序錯誤之后,使用
按鈕解除該標記。正確的程序注釋一般包括序言性注釋和功能性注釋。它們的具體說明如下:
□ 序言性注釋 其主要內容包括模塊的接口、數據的描述和模塊的功能。
□ 功能性注釋 其主要內容包括程序段的功能、語句的功能和數據的狀態。
在C#中,程序的注釋主要包括單行注釋、多行注釋、塊注釋和折疊注釋。它們的具體說明如下:
□ 單行注釋 其表示方法是//說明文字,這種注釋方法從//開始到行尾的內容都會被編輯器所忽略。
□ 多行注釋 其表示方法是/* 說明文字 */,這種注釋方法在/*和*/之間的所有內容都會被忽略。
□ 塊注釋 使用///表示塊注釋,塊注釋也可以看作是說明注釋,這種注釋可以自動生成相關的說明文檔。
□ 折疊注釋 它可以將代碼折疊,折疊注釋以#region開始,所在行后面的文字是注釋文字,以#endregion結束,而其他的#region和#endregion之內的行代碼是有效的,折疊注釋僅僅起到了折疊的作用。
在程序中,為了描述一段程序的作用,通常將變量和程序的作用一一寫出。在C#中,通常將一個功能寫在一個方法中,方法是包含參數、返回值和語句塊的整體。參數是方法所實現的功能中需要用到的數據。
對一個方法的注釋,只需在方法定義語句的上方輸入3個“/”符號,按Enter鍵,VS中將自動顯示該方法中的參數,以供用戶編寫注釋。
如現有一個方法,名稱為Show,用來輸出一個字符串。該方法有一個字符串類型的參數massage,表示該方法所需要輸出的字符串,則方法的聲明如下所示:
public void Show(string massage){};
為該方法編寫語句塊,并在其上方輸入3個“/”符號,按Enter鍵,其效果如下所示:
/// <summary> /// 輸出字符串 /// </summary> /// <param name="massage">輸出內容</param> public void Show(string massage) { Console.WriteLine(massage); }
上述代碼中,系統自動生成了方法上方的語句,其中,在/// <summary>與/// </summary>之間,寫入對方法功能的描述,而在<param name="massage">與</param>之間,寫入對massage這個參數的描述,如上所示。
2.9.2 調試技巧
在VS中編寫完程序,可按F5鍵來嘗試運行,并查看運行結果。但是在VS中,運行的機制不止如此。表2-16列舉了常用調試運行的快捷鍵及其使用方法。
表2-16 調試快捷鍵及其使用方法

在程序中可以設置斷點,斷點的作用是中斷程序的運行。按F5鍵運行后,執行到被設置斷點的位置將會中斷,接著按F11鍵可將剩下的語句逐條執行,每按1次F11鍵執行一條語句;而此時按F5鍵,可繼續執行到下個斷點。
在程序中可設置多個斷點,斷點的作用是審查程序的錯誤,可逐條語句或逐個過程進行執行,根據執行效果來判斷程序的準確性。斷點的設置方法是在語句的最左側單擊鼠標左鍵,如現有程序語句如下所示:
Console.WriteLine("第1條輸出"); Console.WriteLine("第2條輸出"); Console.WriteLine("第3條輸出");
在第2條語句前添加斷點,如圖2-7所示。第2條語句前有了紅色的實心圓點,即為斷點的標記。運行該程序,其效果如圖2-7所示。運行中只有第1條語句被執行,界面中有執行的相關數據。此時按F5鍵將輸出全部3條語句,而按F11鍵則執行第2條語句。

圖2-7 斷點的使用
- FreeSWITCH 1.6 Cookbook
- Java加密與解密的藝術(第2版)
- Interactive Applications Using Matplotlib
- The Complete Coding Interview Guide in Java
- Scala程序員面試算法寶典
- Mastering Backbone.js
- Arduino計算機視覺編程
- Elasticsearch Essentials
- Nagios Core Administration Cookbook(Second Edition)
- 跟戴銘學iOS編程:理順核心知識點
- Appcelerator Titanium:Patterns and Best Practices
- SEO教程:搜索引擎優化入門與進階(第3版)
- Drupal 8 Development Cookbook(Second Edition)
- Kohana 3.0 Beginner's Guide
- Mastering Node.js