我通常使用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#還是有點新鮮,並且不知道在這種情況下'arg'實際上並不是一個參考:-) –