在C#中使用靜態(tài)變量有什么用?什么時候用?為什么我不能在方法中聲明靜態(tài)變量?我在C#中搜索過靜態(tài)變量,但我仍然沒有得到它的用途。另外,如果我嘗試在方法中聲明變量,它將不會授予我執(zhí)行此操作的權(quán)限。為什么?我看過一些關(guān)于靜態(tài)變量的例子。我已經(jīng)看到我們不需要創(chuàng)建類的實例來訪問變量,但這還不足以理解它的用途以及何時使用它。第二件事class Book{
public static int myInt = 0;}public class Exercise{
static void Main()
{
Book book = new Book();
Console.WriteLine(book.myInt); // Shows error. Why does it show me error?
// Can't I access the static variable
// by making the instance of a class?
Console.ReadKey();
}}
3 回答

達令說
TA貢獻1821條經(jīng)驗 獲得超6個贊
一個static
變量,股吧之類的所有實例中的價值。
示例未聲明為靜態(tài):
public class Variable{ public int i = 5; public void test() { i = i + 5; Console.WriteLine(i); }}public class Exercise{ static void Main() { Variable var = new Variable(); var.test(); Variable var1 = new Variable(); var1.test(); Console.ReadKey(); }}
說明:如果查看上面的示例,我只是聲明int
變量。當(dāng)我運行此代碼時,輸出將是10
和10
。這很簡單。
現(xiàn)在讓我們看一下靜態(tài)變量; 我將變量聲明為a static
。
靜態(tài)變量的示例:
public class Variable{ public static int i = 5; public void test() { i = i + 5; Console.WriteLine(i); }}public class Exercise{ static void Main() { Variable var = new Variable(); var.test(); Variable var1 = new Variable(); var1.test(); Console.ReadKey(); }}
現(xiàn)在,當(dāng)我運行上面的代碼時,輸出將是10
和15
。因此靜態(tài)變量值在該類的所有實例之間共享。

慕斯王
TA貢獻1864條經(jīng)驗 獲得超2個贊
C#根本沒有靜態(tài)變量。您可以通過C#在特定類型定義中聲明靜態(tài)字段。靜態(tài)字段是一種狀態(tài),與特定類型的所有實例共享。因此,靜態(tài)字段的范圍是整個類型。這就是為什么你不能在方法中聲明靜態(tài)字段的原因- 方法本身就是一個范圍,方法中聲明的項必須在方法的邊界上不可訪問。
- 3 回答
- 0 關(guān)注
- 1196 瀏覽
添加回答
舉報
0/150
提交
取消