靜態(tài)變量(static variable)和實(shí)例變量(instance variable)是C#中的兩種不同類型的變量。
靜態(tài)變量是屬于類的變量,它在整個(gè)類的實(shí)例中是共享的。靜態(tài)變量在類加載時(shí)被初始化,并且它們的值在整個(gè)應(yīng)用程序的生命周期中保持不變。靜態(tài)變量可以通過類名直接訪問,不需要?jiǎng)?chuàng)建類的實(shí)例。靜態(tài)變量通常用于存儲與類相關(guān)的全局?jǐn)?shù)據(jù)或常量值。
示例:
public class MyClass
{
public static int staticVar = 5;
}
Console.WriteLine(MyClass.staticVar); // 輸出:5
實(shí)例變量是屬于類的實(shí)例的變量,每個(gè)類的實(shí)例都有自己的實(shí)例變量副本。實(shí)例變量在創(chuàng)建類的實(shí)例時(shí)被初始化,并且它們的值在每個(gè)實(shí)例的生命周期中獨(dú)立維護(hù)。實(shí)例變量只能通過類的實(shí)例來訪問和操作。
示例:
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
總結(jié)來說,靜態(tài)變量與實(shí)例變量的主要區(qū)別在于它們的作用域和生命周期。靜態(tài)變量是全局的,而實(shí)例變量是局部的。靜態(tài)變量可以直接通過類名訪問,而實(shí)例變量必須通過類的實(shí)例訪問。