C# 靜態變數:用途與用法
在 C# 中,靜態變數在程式設計領域佔據獨特的地位。它們在類別的所有實例之間共享,提供了一種方便的方式來儲存在整個類別中保持一致的資訊。
為什麼宣告靜態變數?
靜態變數主要有三個用途:
為什麼靜態變數不能在方法內部宣告?
與與類別的特定實例關聯的實例變數不同,靜態變數屬於類別本身。因此,必須在類別級別,在任何方法之外聲明它們。
範例
考慮以下範例:
<code class="language-csharp">class Book { public static int myInt = 0; } public class Exercise { static void Main() { Book book = new Book(); Console.WriteLine(book.myInt); // 显示错误 } }</code>
在此程式碼中,出現錯誤是因為無法透過類別的實例存取靜態變數 myInt。要存取它,需要直接引用它:
<code class="language-csharp">Console.WriteLine(Book.myInt);</code>
靜態變數的實際應用
讓我們深入研究一個更詳盡的範例來說明靜態變數的使用。以下程式碼示範了靜態變數如何儲存運行總計:
<code class="language-csharp">class Counter { public static int TotalCount { get; set; } public void AddCount(int value) { TotalCount += value; } } public class Program { static void Main() { var counter1 = new Counter(); counter1.AddCount(5); var counter2 = new Counter(); counter2.AddCount(10); Console.WriteLine(Counter.TotalCount); // 输出:15 } }</code>
在這種情況下,所有 Counter 實例之間共用的 TotalCount 變數用於保存新增值的運行總計。每次建立新的 Counter 時,它都會繼承儲存在 TotalCount 中的最新值。
結論
C# 中的靜態變數提供了一個強大的機制來管理類別中共享的資訊。透過了解它們的用途和用法,開發人員可以優化記憶體利用率,強制執行單例模式,並促進對重要資料的全局存取。
以上是靜態變數如何發揮作用以及為什麼不能在 C# 的方法內部聲明它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!