C# 传递列表参数

标签 c#

如果我正在编写一个接受两个列表参数的方法,如下所示:

public void ModifyYourListsHere(List<MyClass1> list1, List<MyClass2> list2)
{
    ...add and remove from the lists
}

如果我希望调用者了解列表将被修改,我应该将它们作为 refout 传递吗?或者我只需要记录该方法?或者用户是否应该预期它们可能会被修改?

最佳答案

您绝对不想使用 out,因为这意味着您将在离开方法之前分配变量(编译器实际上会强制执行此操作)。

ref 将允许您重新分配传入的参数(肯定会让用户感到困惑)。您几乎肯定也不想使用它。

最好的方法是首先选择一个好的方法名称,使一个或两个列表的内容明显将被修改。然后使用///注释,以便该函数的用户可以在 Intellisense 中看到更详细的描述。

如果您有兴趣,请参阅 ref 的 MSDN 文档和 out

关于C# 传递列表参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119835/

相关文章:

c# - 何时在 C# 中使用结构

c# - Visual Studio 2015 Update 2 让浮点计算更准确?

c# - 多线程运行时在哪里调用Control.Invoke/BeginInvoke?

c# - 一些第三方工具的 Javascript 和 CSS 文件压缩技术

c# - 无法连接到另一个域中的 TFS 2010

c# - 如何使用 jquery 和 c# 将数据库中的数据显示到 html 表中

c# -/unsafe标志对应的是 "preprocessor"符号吗?

c# - gRPC 在 protobuf 中使用列表

c# - DateTime.Now/UtcNow 默认文化 - 客户端还是服务器?

c# - 如何解析日期格式01022013、20130102?