Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要澄清C#静态变量吗_C#_Variables_Static - Fatal编程技术网

需要澄清C#静态变量吗

需要澄清C#静态变量吗,c#,variables,static,C#,Variables,Static,我试着搜索这个,但我找不到我问题的明确答案 何时才能真正更改静态变量? 根据我的理解,您只能在静态构造函数中更改它。但我不确定,在此方面的任何帮助都将不胜感激 静态字段/属性可以在任何地方更改-根据其可见性(公共、私有、内部等)。例如,私有静态字段可以由类的所有实例更改 如果变量是静态的,则它不是成员变量,因为它不属于特定实例。最好称它们为静态变量(而不是静态成员变量) 静态字段/属性可以在任何地方更改-根据其可见性(公共、私有、内部等)。例如,私有静态字段可以由类的所有实例更改 如果变量是静态

我试着搜索这个,但我找不到我问题的明确答案

何时才能真正更改静态变量?

根据我的理解,您只能在静态构造函数中更改它。但我不确定,在此方面的任何帮助都将不胜感激

  • 静态字段/属性可以在任何地方更改-根据其可见性(公共、私有、内部等)。例如,私有静态字段可以由类的所有实例更改
  • 如果变量是静态的,则它不是成员变量,因为它不属于特定实例。最好称它们为静态变量(而不是静态成员变量)
  • 静态字段/属性可以在任何地方更改-根据其可见性(公共、私有、内部等)。例如,私有静态字段可以由类的所有实例更改
  • 如果变量是静态的,则它不是成员变量,因为它不属于特定实例。最好称它们为静态变量(而不是静态成员变量)

  • 如果静态成员变量不是只读的,则在为变量赋值时,变量将被更改。而它将在应用程序的生命周期内保持不变


    另外,您不需要任何实例为变量赋值
    如果静态成员变量不是只读的,则变量将在为变量赋值时更改。而它将在应用程序的生命周期内保持不变


    另外,您不需要任何实例
    为变量赋值

    静态变量可以在任何地方更改,它本质上是一个全局变量,您不需要实例化

    你应该非常小心地使用它们,因为它们会给你带来很多麻烦,而且只能用于特定的原因


    静态变量可以在任何地方更改,它本质上是一个全局变量,不需要实例化

    你应该非常小心地使用它们,因为它们会给你带来很多麻烦,而且只能用于特定的原因


    静态变量可以编辑与访问权限相关的任何位置。它只类似于非静态变量。但具有公共内存(类级内存)

    如果你是初学者,我会举个例子

    class Person
    {
        static int NumberOfPersons;
        string name;
        int age;
    }
    
    在上述示例中,每个人都需要单独的记忆

    但人数的情况则不同。当新的人来时,您只需在NumberOfPersons中添加1即可。如果您没有为此保留一个通用的类级别变量,那么您会有很多头痛的问题,比如您需要去每个对象增加一个,内存浪费等等

    但在姓名和年龄的情况下,需要个人记忆。一个人的名字不应该被另一个物体写得太多。这是非静态的

    理论上,静态将在类加载时具有公共内存和加载。非静态将在对象创建时分配内存

    希望很清楚

    谢谢和问候
    Binesh Nambiar C

    静态变量可以在访问权限方面编辑任何位置。它只类似于非静态变量。但具有公共内存(类级内存)

    如果你是初学者,我会举个例子

    class Person
    {
        static int NumberOfPersons;
        string name;
        int age;
    }
    
    在上述示例中,每个人都需要单独的记忆

    但人数的情况则不同。当新的人来时,您只需在NumberOfPersons中添加1即可。如果您没有为此保留一个通用的类级别变量,那么您会有很多头痛的问题,比如您需要去每个对象增加一个,内存浪费等等

    但在姓名和年龄的情况下,需要个人记忆。一个人的名字不应该被另一个物体写得太多。这是非静态的

    理论上,静态将在类加载时具有公共内存和加载。非静态将在对象创建时分配内存

    希望很清楚

    谢谢和问候
    Binesh Nambiar C

    只要它不是只读的,您可以随时更改它。只要它不是只读的,您可以随时更改它