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

C# 七大變數分類完解:靜態、實例、陣列、參數與區域變數

     編輯:關於C#

變數的七種分類

C# 依據宣告位置與行為,將變數分為七類:

  1. 靜態變數:以 static 修飾,屬於類別本身,類別載入時建立,程式結束時銷毀。
  2. 非靜態變數:又稱實例變數,屬於物件實例,隨實例建立與銷毀。
  3. 陣列元素:陣列中的每個儲存位置,隨陣列實例存續。
  4. 值參數:方法參數預設為值傳遞,建立副本。
  5. 參考參數:以 ref 修飾,傳遞變數參考。
  6. 輸出參數:以 out 修飾,必須在方法內指派值。
  7. 區域變數:宣告於方法、迴區塊內,僅在該範圍有效,不會自動初始化。

程式碼範例

class A {
    public static int x;      // 靜態變數
    int y;                    // 非靜態變數
    void F(int[] v, int a, ref int b, out int c) {
        int i = 1;            // 區域變數
        c = a + b++;
    }
}

各類型關鍵特性

類型初始值存活期備註
靜態變數型別預設值應用程式域存活期間建議宣告時指派
非靜態變數型別預設值實例存活期間建議在建構函式初始化
陣列元素型別預設值陣列實例存活期間
區域變數無(未初始化)區塊執行期間使用前必須指派
值/參考/輸出參數視呼叫端而定方法執行期間第 11 章詳細說明

區域變數的作用域與陷阱

區域變數在宣告之前不可使用:

for (int i = 0; i < 10; i++) {
    int num = a; // 錯誤:a 尚未宣告
    int a;
    int b = a; // 正確
}

這是因為 C# 採用明確指派分析,確保變數在讀取前已被寫入。

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