如果我正在编写一个接受两个列表参数的方法,如下所示:
public void ModifyYourListsHere(List<MyClass1> list1, List<MyClass2> list2)
{
...add and remove from the lists
}
如果我希望调用者了解列表将被修改,我应该将它们作为 ref
或 out
传递吗?或者我只需要记录该方法?或者用户是否应该预期它们可能会被修改?
最佳答案
您绝对不想使用 out
,因为这意味着您将在离开方法之前分配变量(编译器实际上会强制执行此操作)。
ref
将允许您重新分配传入的参数(肯定会让用户感到困惑)。您几乎肯定也不想使用它。
最好的方法是首先选择一个好的方法名称,使一个或两个列表的内容明显将被修改。然后使用///注释,以便该函数的用户可以在 Intellisense 中看到更详细的描述。
关于C# 传递列表参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119835/