【发布时间】:2011-03-25 14:04:45
【问题描述】:
我查看了类似的问题并阅读了一些文章。 THis文章有一些图片说明了。
SomeObject so = new SomeObject();
somefunction(so);
Console.write(so.x); // will print 1
SomeObject so1 = new SomeObject();
somefunctionByRef(so1);
Console.write(so1.x); // will print 1
static void somefunction(SomeObject so)
{
so.x = 1;
}
public void somefunctionByRef(ref SomeObject so)
{
so.x = 1;
}
这两种方法对这个引用类型的效果是一样的。那么为什么要为引用类型选择ref 关键字呢?
使用 somefunction(SomeObject so) 并修改方法内的对象并期望更改而不使用 ref 关键字是一种不好的做法(可能是错误的)吗?
【问题讨论】:
标签: c# .net parameters reference methods