我认为更清楚的是,如果我将引用类型参数传递给方法,那么将在方法内部进行更改以进行添加 像这样的ref关键字
void Foo(ref Boo boo)
{
boo.Value = 6;
}
,即使这不会影响程序执行的任何方式,默认情况下对象通过引用传递,我不想更改 如下所示引用内部空白:
void Foo(ref Boo boo)
{
boo = new Boo();
}
因为我认为使用ref从方法签名中可以清楚地看到我将改变Boo而不仅仅是阅读它。 你同意吗?你怎么看待这个?
答案 0 :(得分:4)
我认为更清楚的是,如果我将引用类型参数传递给方法,那么将在方法内部更改以添加ref关键字,如此
不,这只是表明您不熟悉ref
的预期含义。对于操纵对象可用的对象的方法来说,这是完全正常和惯用的。如果您不希望这样: 编写不可变对象 。
不要这样做。缺少ref
不暗示任何类型的const
。