买标准的网站建设,上海市网站建设加盟,商家微信下单小程序怎么开通,网络公司排名中国引用类型的变量不直接包含其数据#xff1b;它包含对其数据的引用。 如果按值传递引用类型参数#xff0c;则可能更改属于所引 用对象的数据#xff0c;例如类成员的值。 但是#xff0c;不能更改引用本身的值#xff1b;例如#xff0c;不能使用相同引用为新对象分配内存…引用类型的变量不直接包含其数据它包含对其数据的引用。 如果按值传递引用类型参数则可能更改属于所引 用对象的数据例如类成员的值。 但是不能更改引用本身的值例如不能使用相同引用为新对象分配内存并 将其保留在方法外部。 为此请使用 ref 或 out 关键字传递参数。 为简单起见下面的示例使用 ref
示例1
var bClass new BaseClass() { Number 30};
bClass.Method1();Console.WriteLine(bClass.Number);
Test( bClass);
Console.WriteLine(bClass.Number);Console.ReadKey();void Test( BaseClass baseClass)
{baseClass new BaseClass{Number 100};
}运行结果
如果方法中不希望更改引用类型指向可以使用关键字 in 如果要想实现预想情况可以使用ref关键字
var bClass new BaseClass() { Number 30};
bClass.Method1();Console.WriteLine(bClass.Number);
Test(ref bClass);
Console.WriteLine(bClass.Number);Console.ReadKey();void Test(ref BaseClass baseClass)
{baseClass new BaseClass{Number 100};
}