保留从“out”参数传入的值

本文关键字:参数 out 保留 | 更新日期: 2023-09-27 18:30:46

我们全天在企业调度程序上运行一个程序。调度程序需要一个整数返回值,所以我们必须编写程序来自然返回这个值。但是,我们希望保留一些信息的运行记录,因此我需要以某种方式传入集合对象,保留其值,将新计数添加到对象,然后将新总计传递回调用它的程序。

我对使用 out 关键字相对较新,所以我甚至可能没有走上正确的道路。现在我被告知我需要在使用它之前分配对集合对象的控制,但是这将在传入时吹走它包含的任何计数。有没有办法使用 out 来保留值,或者我应该使用另一种方法?

保留从“out”参数传入的值

out参数在传入时在逻辑上没有任何值。事实上,你可以使用一个甚至没有明确赋值的变量:

int x; // No logical value yet
Foo(out x);

听起来您可能想要ref - 尽管我个人尽量避免使用 ref out ,更喜欢尽可能使用返回值返回我的方法的所有结果。

请参阅我关于参数传递的文章,了解有关ref和一般out的更多信息。

集合对象(如List<T>)是引用类型,因此如果您希望方法能够更改传入的List<T>的内容,则甚至不需要使用 out 关键字