使用OUT参数返回值为VS的递归函数

本文关键字:VS 递归函数 返回值 OUT 参数 使用 | 更新日期: 2023-09-27 18:20:26

只是一个快速问题,

你认为两者中哪一个更好:

- A recursive function that returns a value
- A recursive function with an OUT paremeter (which will serve as a return value.)

我尝试了两种方法,结果都一样。

请注意,此功能的主要功能是:

-> accept a String parameter.
-> scan through a list (whick have like 1032 items) and find a match of the string parameter above.
-> then get a specific data from the object that matched the string parameter.

我们将非常感谢您的意见。

使用OUT参数返回值为VS的递归函数

对我来说,返回值总是比out参数更好的选择
在我看来,它更干净、更优雅
看看这个类似的问题,以及约翰·斯基特的答案。

此外,如果您使用FxCop,您将收到使用out参数的警告。

对我来说,这两种方法都很好,所以这取决于个人偏好。对于一般的方法,你基本上可以问同样的问题——递归与否。

out param的一个好处是可以支持多个参数。然而,有些人可能会说,使用返回值更具可读性。

哪种方法与您发现的方法非常相似,是依赖于上下文的。有时,这并不重要,而另一些时候,它会让事情变得不那么复杂。

归根结底,上下文取决于你试图解决的问题。与基于循环的算法相比,递归函数有时是一种简单得多的解决问题的方法,反之亦然。

根据你所说的,听起来你可能会更好地使用基于循环的算法,除非你的单词列表存储在某种复杂的树节点结构中。