【发布时间】:2013-11-29 04:11:42
【问题描述】:
我通常使用 C++,其中返回作为引用传递的函数参数可能会导致问题(如悬空引用或可能是 UB。)在 C# 中是否存在类似情况?
例子:
byte[] do_something(byte[] arg)
{
byte[] ret = null;
// ...
// Some of the code paths can lead to:
ret = arg;
// ...
return ret;
}
现在上述方法的调用者做了:
byte[] array = // ...
array = do_something(array);
这在 C# 中是否总是安全的,还是在某些情况下会导致麻烦?
【问题讨论】:
标签: c# reference return pass-by-reference