首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 方法設計與除錯實務:從邏輯開發到 Visual Studio 單步偵錯

     編輯:關於C語言

前言

方法是程式碼重複使用與結構化的基本單位。本文以顧問費用計算為例,示範如何從需求拆解邏輯、使用「產生方法存根」功能快速建立架構、實作細節、重構,並以 Visual Studio 偵錯器單步執行觀察呼叫堆疊與變數變化。

需求與邏輯拆解

  • 輸入:日費率、工作天數。
  • 處理:總費用 = 日費率 × 天數;顯示費用含 10% 稅(×1.1)。
  • 輸出:顯示最終金額。

對應四個方法:

  1. ReadDouble(string prompt):讀取 double。
  2. ReadInt(string prompt):讀取 int。
  3. CalculateFee(double rate, int days):計算總費用。
  4. WriteFee(double fee):顯示含稅金額。

使用「產生方法存根」快速建立架構

  1. 在 Run() 中撰寫呼叫程式碼(紅色波浪線)。
  2. 滑鼠右鍵紅線 → 快速操作與重構 → 產生方法存根。
  3. VS 自動依據呼叫簽章產生方法簽名與 throw new NotImplementedException()。
  4. 逐一實作方法主體。

完整程式碼

using System;

namespace DailyRate
{
    class Program
    {
        static void Main() => new Program().Run();

        void Run()
        {
            double dailyRate = ReadDouble("Enter your daily rate: ");
            int noOfDays = ReadInt("Enter the number of days: ");
            WriteFee(CalculateFee(dailyRate, noOfDays));
        }

        double ReadDouble(string prompt)
        {
            Console.Write(prompt);
            return double.Parse(Console.ReadLine());
        }

        int ReadInt(string prompt)
        {
            Console.Write(prompt);
            return int.Parse(Console.ReadLine());
        }

        double CalculateFee(double dailyRate, int noOfDays) => dailyRate * noOfDays;

        void WriteFee(double fee) => Console.WriteLine($"The consultant's fee is: {fee * 1.1}");
    }
}

重構技巧:提取方法

若發現重複邏輯(如多處讀取輸入),選取程式碼區塊 → 右鍵 → 重構 → 提取方法,VS 自動建立新方法並替換呼叫。

Visual Studio 偵錯器單步操作

動作按鈕/快捷鍵說明
執行到游標右鍵 → 執行到游標 / Ctrl+F10快速跳至特定行
逐步執行F11進入方法內部
逐過F10執行當前行,不進入方法
跳出Shift+F11執行完當前方法返回呼叫者
繼續F5恢復執行至下一中斷點

偵錯觀察視窗

  • 區域變數:自動顯示當前方法區域變數值。
  • 監看式:手動輸入運算式(如 dailyRate * noOfDays)監控值變化。
  • 呼叫堆疊:查看方法呼叫層級,雙擊可跳至對應原始碼。
  • 即時運算視窗:偵錯中執行任意 C# 運算式。

實務建議

  1. 單一職責:方法只做一件事,易測試、易複用。
  2. 參數驗證:公用方法開頭驗證引數(Guard Clauses)。
  3. 非同步命名:非同步方法以 Async 結尾。
  4. 單元測試:對核心邏輯編寫單元測試,偵錯器僅作輔助驗證。

結語

善用 VS「產生方法存根」與「提取方法」重構功能,能大幅加速開發並保持程式碼整潔。熟練掌握 F10/F11/Shift+F11 單步操作與觀察視窗,讓除錯從「猜測」變為「觀察」,快速定位邏輯錯誤與狀態異常。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved