Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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#_Parameter Passing - Fatal编程技术网

C# 有没有办法将类的实际实例作为参数传递?

C# 有没有办法将类的实际实例作为参数传递?,c#,parameter-passing,C#,Parameter Passing,更具体地说,通常当您将类的实例作为函数的参数传递时,它将作为局部变量存储,然后稍后离开作用域,或者作为不同的变量返回。是否有一种方法可以将类的实例传递到函数中,然后以这样的方式存储它:修改作为参数传递的实例将修改原始版本本身 i、 e static void Main() { int j=0; 例(j); 控制台写入线(j); } 静态无效示例(链接的int参数) { 参数+=100; } 输出当然是100 顺便说一句,这里有一个例子: 您有类Location,必须将其绘制到地图上。它的构造器

更具体地说,通常当您将类的实例作为函数的参数传递时,它将作为局部变量存储,然后稍后离开作用域,或者作为不同的变量返回。是否有一种方法可以将类的实例传递到函数中,然后以这样的方式存储它:修改作为参数传递的实例将修改原始版本本身

i、 e

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