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

C# 變數作用域與方法多載完整指南

     編輯:關於C#

什麼是作用域?

作用域定義了識別碼(變數、方法、類別)在程式碼中可被存取的區域。變數從宣告處開始生效,超出作用域即銷毀無法存取。

一、區域作用域

方法主體的大括號 `{}` 界定區域作用域。方法內宣告的變數為區域變數,僅限該方法內部存取,方法結束即銷毀。無法跨方法共享區域變數:

class Example
{
    void FirstMethod()
    {
        int myVar = 10; // 區域變數
    }
    void AnotherMethod()
    {
        myVar = 42; // 編譯錯誤:myVar 不在作用域內
    }
}

二、類別作用域(欄位)

類別主體大括號內、方法外部宣告的變數稱為欄位,具備類別作用域,可被類別內所有方法存取,實現資料共享:

class Example
{
    int myField = 0; // 欄位
    void FirstMethod() { myField = 42; }  // OK
    void AnotherMethod() { myField = 99; } // OK
}

關鍵差異: 區域變數必須「先宣告後使用」;欄位則允許在宣告語句之前被方法使用(編譯器會自動處理)。

三、方法多載

同一作用域內,若有多個同名方法但參數列表不同(參數個數、型別或順序),即構成多載。編譯器依實參型別自動綁定對應版本:

Console.WriteLine("答案:");     // 呼叫 WriteLine(string)
Console.WriteLine(42);           // 呼叫 WriteLine(int)
Console.WriteLine(true);         // 呼叫 WriteLine(bool)

Console.WriteLine 內建 19 個多載版本,涵蓋各種基本型別與物件。

多載規則

  • ✅ 參數個數不同
  • ✅ 參數型別不同
  • ✅ 參數順序不同
  • ❌ 僅回傳型別不同 無法 構成多載(編譯錯誤)

實務建議

當需要對不同資料型別執行相同邏輯操作時,善用多載可提升 API 易用性,避免命名如 PrintInt、PrintString 等冗長方法名。

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