靜態變量(static variable)和實例變量(instance variable)是C#中的兩種不同類型的變量。
靜態變量是屬于類的變量,它在整個類的實例中是共享的。靜態變量在類加載時被初始化,并且它們的值在整個應用程序的生命周期中保持不變。靜態變量可以通過類名直接訪問,不需要創建類的實例。靜態變量通常用于存儲與類相關的全局數據或常量值。
示例:
public class MyClass
{
public static int staticVar = 5;
}
Console.WriteLine(MyClass.staticVar); // 輸出:5
實例變量是屬于類的實例的變量,每個類的實例都有自己的實例變量副本。實例變量在創建類的實例時被初始化,并且它們的值在每個實例的生命周期中獨立維護。實例變量只能通過類的實例來訪問和操作。
示例:
public class MyClass
{
public int instanceVar = 10;
}
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
Console.WriteLine(obj1.instanceVar); // 輸出:10
Console.WriteLine(obj2.instanceVar); // 輸出:10
總結來說,靜態變量與實例變量的主要區別在于它們的作用域和生命周期。靜態變量是全局的,而實例變量是局部的。靜態變量可以直接通過類名訪問,而實例變量必須通過類的實例訪問。