C# · 12月 30, 2021

c# – 最佳做法:ref参数或返回值?

其实我正在做一个列表作为参考参数,如下所示: public static List ListMethod(List result)

我看到有些人这样做:

public static void ListMethod(ref List result)

如果我没有错,“我的”方法也将列表作为参考参数,您应该能够像他的方法中的“其他”一样使用它.

但是,对于您输入参数,似乎更为“干净”,使用它来执行某些操作,并在方法返回值中返回.

对一种或另一种方法的任何好的论据?

解决方法 您可能不需要使用参考 – 但有所不同.

通常当我看到人们使用参考引用类型参数,这是因为他们不了解参数传递的工作原理.但是如果你的方法有这样的:

result = new List();…

那么在第一种情况下,调用者将看不到改变,而在第二种情况下,调用者的变量将被改变以引用新的对象.

看到我的article on parameter passing更多的细节.