交换vs ref

Sam*_*IAm 0 c# swap

实现交换功能的更好方法是什么?如何使用ref比使用ref更好,反之亦然?使用其中一个或另一个会产生的任何其他好处或缺点?

swapref(ref T a, ref T b) {
  T temp = a;
  a = b;
  b = temp;
}

swapout(out T a, out T b)
{ 
   T temp = a;
   a = b;
   b = temp;
}
Run Code Online (Sandbox Code Playgroud)

Mit*_*eat 8

根据定义,Swap()函数要求传递的参数具有值.因此你应该使用ref.

使用out意味着可以传递(并允许)未初始化的参数(实际上不应该编译,因为您将使用未分配的参数)