輸出資訊法(Debug)
有時候,開發者並不關心物件在執行時的狀態,而僅僅需要驗證結果是否正確,因此通過輸出除錯資訊來判斷程式碼的執行結果是否符合預期,比起斷點除錯會更方便。
Debug類(位於System.Diagnostics名稱空間下)可以幫助開發人員完成與除錯相關操作,比如輸出除錯資訊、斷言等。而用於輸出除錯資訊的方法有以下幾個:
- Print方法:輸出文字資訊,該文字資訊是帶有行結尾符的,也就是說每次輸出一行。
- Write方法:輸出除錯資訊,如果傳遞給引數的不是字串型別,則呼叫該物件的ToString方法以獲取字串表示形式。該方法輸出的除錯資訊末尾是不帶行結尾符號的。
- WriteIf方法:和Write方法一樣,不同的是WriteIf方法需要指定一個條件,當條件為true時才會輸出除錯資訊。
- WriteLine方法:和Write方法類似,只是在輸出內容的末尾會自動加上換行符。
- WriteLineIf方法:和WriteLine方法相近,不過在呼叫時要提供一個判斷條件,當條件為true時才輸出資訊。
這些方法使用起來跟Console.Write方法差不多,只不過它們並不是把資訊輸出到應用程式螢幕上,預設情況下,除錯資訊是輸出到Visual Studio的“輸出”視窗中。當然,通過配置也可以讓除錯資訊同時輸出到日誌檔案。
示例如下:
System.Console.WriteLine("按Esc鍵退出應用程式。");
do
{
System.Console.WriteLine("請輸入一個整數:");
//讀入一行
string numTxt = Console.ReadLine();
//將讀入的字串轉換為數字
long longNum;
if(long.TryParse(numTxt,out longNum))
{
//計算階乘
long result = 1L;
while(longNum > 0)
{
//輸出除錯資訊
Debug.WriteLine($"longNum的當前值為:{longNum}");
//乘積
result *= longNum;
longNum --;
}
//輸出計算結果
System.Console.WriteLine($"{numTxt}的階乘為:{result}");
}
}
while(Console.ReadKey().Key != ConsoleKey.Escape);
上面的例子實現階乘計算。使用者輸入一個整數值,確認後程式會計算該整數的階乘,並輸出計算結果。例如,輸入一個整數5,程式會計算54321的結果。
在每一輪迴圈中都使用Debug類的WriteLine方法輸出變數longNum的當前值。執行後的結果如下所示:
按Esc鍵退出應用程式。
請輸入一個整數:
10
10的階乘為:3628800
相關文章
- rust 終端輸出 debug 資訊Rust
- C++簡單日誌/debug除錯資訊輸出C++除錯
- 使用動態輸出列印核心的DEBUG資訊
- Go 最直接的debug 方式 輸出函式Go函式
- pycharm 控制檯輸出資訊時,輸出的結果和報錯資訊會錯位,影響檢視報錯資訊,有什麼可以辦法避免嘛?PyCharm
- 輸入和輸出基礎語法
- 雙拼輸入法,助你神速輸出中文
- Visual Studio Release版本開啟debug視窗進行除錯輸出。除錯
- 03 資料輸入-輸出
- 資料的輸入輸出
- MacOS GoLand 沒辦法 DebugMacGoLand
- 另一種列印輸出日誌資訊的方式
- 關於輸出的小語法點
- 資料流輸出
- m1 goland 無法debugGoLand
- Python資料的輸入與輸出Python
- [譯] 用 Flask 輸出視訊流Flask
- nohup不輸出nohup.out日誌資訊,已解決。
- vscode 無法進行 debug 除錯VSCode除錯
- 分治法求眾數和重數(含檔案輸入輸出)
- win10玩遊戲老是彈出輸入法怎麼辦 玩遊戲shift鍵老彈出輸入法Win10遊戲
- ccat – 使用語法突出顯示輸出內容
- imemode 控制輸入法,控制輸入框的輸入法
- 實驗一訊飛輸入法APP設計APP
- 騰訊搭建公益平臺免費開放無障礙輸入技術,搜狗輸入法釋出眼動方案
- 多種格式資料輸出
- 輸入輸出
- 通訊原理中碼元,碼元傳輸速率,資訊傳輸速率
- android音視訊指南-處理音訊輸出的變化Android音訊
- JavaScript資料型別及輸出JavaScript資料型別
- 輸入輸出流
- 輸出
- [BUG]Cursor Chat功能一直在轉圈但是不輸出資訊
- 如何將終端輸出的資訊重定向寫入檔案中呢?
- shell指令碼整合json數值輸出從而獲取硬體資訊指令碼JSON
- C#呼叫Windows CMD命令並,返回輸出結果或錯誤資訊C#Windows
- ThinkPHP裡無法輸出圖片 設定響應頭PHP
- win10輸入法不見了怎麼調出來 win10輸入法消失了怎麼辦Win10