public int a;
public void currentvalue(int a)
{
if (a == 5)
{
a = 10;
Console.WriteLine("a" + a);
}
}
如何将a的值更改为10
答案 0 :(得分:2)
如果在同一范围内同时具有同名的全局变量(字段)和局部变量(参数/本地),编译器将自动选择本地声明的变量。
在处理非静态(实例引用)字段时,您仍然可以使用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
}
}
如果全局声明的变量是静态的,则不能使用this
(仅在实例引用上可用)。在这种情况下,请使用类型引用:
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
}
}
您可能需要阅读this
关键字here。
答案 1 :(得分:2)
您可以使用ref关键字并将引用传递给函数:
class X {
public:
X() = default;
X(const X&) = default;
X(X&&) = delete;
};
X foo() {
X result;
return result;
}
int main() {
foo();
}