C# 有没有办法将类的实际实例作为参数传递?
更具体地说,通常当您将类的实例作为函数的参数传递时,它将作为局部变量存储,然后稍后离开作用域,或者作为不同的变量返回。是否有一种方法可以将类的实例传递到函数中,然后以这样的方式存储它:修改作为参数传递的实例将修改原始版本本身 i、 eC# 有没有办法将类的实际实例作为参数传递?,c#,parameter-passing,C#,Parameter Passing,更具体地说,通常当您将类的实例作为函数的参数传递时,它将作为局部变量存储,然后稍后离开作用域,或者作为不同的变量返回。是否有一种方法可以将类的实例传递到函数中,然后以这样的方式存储它:修改作为参数传递的实例将修改原始版本本身 i、 e static void Main() { int j=0; 例(j); 控制台写入线(j); } 静态无效示例(链接的int参数) { 参数+=100; } 输出当然是100 顺便说一句,这里有一个例子: 您有类Location,必须将其绘制到地图上。它的构造器
static void Main()
{
int j=0;
例(j);
控制台写入线(j);
}
静态无效示例(链接的int参数)
{
参数+=100;
}
输出当然是100
顺便说一句,这里有一个例子:
您有类Location,必须将其绘制到地图上。它的构造器要求绘制坐标和地图。从那时起,从该特定位置调用的所有函数只会影响该地图。同一地图上可以有多个位置,也可以有多个地图。您不是在传递类(),在这种情况下,您是在传递,如果要修改该值,请使用 用法
Example(ref j);
当然,这应该很容易。默认情况下,引用类型(例如类)是对对象的引用,因此,如果您有一个类型为引用类型的参数,则会在调用代码中观察到函数中对象状态的变化 相反,如果您想改变一个值类型(比如您的
int
),那么只需在该类型前面加上ref
:
static void Example(ref int param)
{
param += 100;
}
现在,
int
将通过引用传递,该方法将引用相同的int
变量,调用代码也将观察您对int
值的更改,听起来像是通过引用传递-ref关键字。您没有传递类(引用类型)在本例中,您正在传递值类型,如果您想修改值,请使用ref
关键字哦,这太简单了。谢谢
static void Example(ref int param)
{
param += 100;
}