Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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中全局声明变量的值#_C# - Fatal编程技术网

C# 如何更改c中全局声明变量的值#

C# 如何更改c中全局声明变量的值#,c#,C#,如何将a的值更改为10当在同一范围内有一个全局变量(字段)和一个局部变量(参数/局部)具有相同的名称时,编译器将自动选择本地声明的变量 在处理非静态(实例引用)字段时,仍然可以使用this关键字访问该字段。例如: public int a; public void currentvalue(int a) { if (a == 5) { a = 10; Console.WriteLine("

如何将a的值更改为10当在同一范围内有一个全局变量(字段)和一个局部变量(参数/局部)具有相同的名称时,编译器将自动选择本地声明的变量

在处理非静态(实例引用)字段时,仍然可以使用
this
关键字访问该字段。例如:

    public  int a;

    public void currentvalue(int a)
    {
        if (a == 5)
        {
            a = 10;
            Console.WriteLine("a" + a);
        }
    }
如果全局声明的变量是静态的,则不能使用
this
(它仅在实例引用上可用)。在这种情况下,请改用类型引用:

public class MyClass
{
    public int number = 2;

    public void Calc(int number) //when number: 4
    {
        int result1 = number * 3;       //result1: 12
        int result2 =  this.number * 3; //result2: 6
    }
}

您可能需要阅读
关键字。

您可以使用ref关键字并将引用传递到函数:

public class MyClass
{
    public static int number = 2;

    public void Calc(int number) //when number: 4
    {
        int result1 = number * 3;         //result1: 12
        int result2 = MyClass.number * 3; //result2: 6
    }
}

首先,我声明变量a,比如公共int a;使用
this
关键字maybe。。。不要用无用的字母命名变量和参数?使用有意义的命名。谢谢你的签名。你能解释一下它是如何实现的吗。我在您的帖子中得到了预期的答案,并进行了解释。很高兴为您提供帮助,欢迎来到Stack Overflow。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。
    public void currentvalue(ref int a)
    {
        if (a == 5)
        {
            a = 10;
            Console.WriteLine("a" + a);
        }
    }