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

C# 靜態與非靜態欄位:記憶體共享 vs 獨立拷貝、計數器實例驗證與編號順序追蹤

     編輯:關於C語言

靜態欄位(static)全類別共享單一拷貝;非靜態欄位每實例獨立拷貝。

計數器驗證範例


class Count {
    static int Count;  // 共享計數
    int Number;        // 實例編號
    public Count() { Count++; Number = Count; }
    public void Show() => Console.WriteLine($"Obj{Number}: Count={Count}");
}

Count a = new Count(); a.Show(); // Obj1: Count=1
Count b = new Count(); a.Show(); b.Show(); // Obj1:2, Obj2:2
Count c = new Count(); a.Show(); b.Show(); c.Show(); // 全部 Count=3

輸出結果

Obj1: Count=1
Obj1: Count=2
Obj2: Count=2
Obj1: Count=3
Obj2: Count=3
Obj3: Count=3

關鍵觀察

  • Count 所有實例同步更新,證明單一記憶體位置。
  • Number 實例化時刻固定不變,反映建立順序。
  • 靜態欄位適合全域狀態(實例計數、快取、設定)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved