只是一个简单的问题,
你认为这两者有什么好处:
- 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.
非常感谢您的投入。
答案 0 :(得分:3)
对我来说,返回一个值总是比out参数更好的选择 在我看来,它更干净,更优雅 看看这个类似的question,以及John双向飞碟的答案。
此外,如果您使用FxCop,则会get a warning for using out parameters。
答案 1 :(得分:0)
对我来说,任何一种方法似乎都很好,所以归结为个人偏好。 你基本上可以问一些关于方法的相同问题 - 递归与否。
out param的一个好处是你可以支持多个参数。 但是,有些人可能会说使用返回值更具可读性。
答案 2 :(得分:0)
与您发现的方法非常相似,取决于上下文。有时候,没关系,有些人会把事情变得不那么复杂。
最终,上下文取决于您要解决的问题。有时候递归函数是解决问题与基于循环的算法相比简单得多的方法,反之亦然。
根据你所说的,听起来你可能会更好地使用基于循环的算法,除非你的单词列表存储在某种复杂的树节点结构中。