在C#中使用静态变量有什么用?什么时候用?为什么我不能在方法中声明静态变量?

在C#中使用静态变量有什么用?什么时候用?为什么我不能在方法中声明静态变量?

我在C#中搜索过静态变量,但我仍然没有得到它的用途。另外,如果我尝试在方法中声明变量,它将不会授予我执行此操作的权限。为什么?

我看过一些关于静态变量的例子。我已经看到我们不需要创建类的实例来访问变量,但这还不足以理解它的用途以及何时使用它。

第二件事

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();
    }}


繁花不似锦
浏览 1165回答 3
3回答

达令说

一个static变量,股吧之类的所有实例中的价值。示例未声明为静态: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变量。当我运行此代码时,输出将是10和10。这很简单。现在让我们看一下静态变量; 我将变量声明为a static。静态变量的示例: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();     }}现在,当我运行上面的代码时,输出将是10和15。因此静态变量值在该类的所有实例之间共享。

慕斯王

C#根本没有静态变量。您可以通过C#在特定类型定义中声明静态字段。静态字段是一种状态,与特定类型的所有实例共享。因此,静态字段的范围是整个类型。这就是为什么你不能在方法中声明静态字段的原因- 方法本身就是一个范围,方法中声明的项必须在方法的边界上不可访问。
打开App,查看更多内容
随时随地看视频慕课网APP