使用参数的优缺点是什么?

use*_*949 6 .net c#

任何人都可以指出out参数的优缺点.当首选使用out参数而不仅仅是返回一个值时.

Nat*_*man 6

Out参数有效地允许您从方法返回多个值,这通常比返回包含多个值的任意struct或tuple更可取.

有人可能会争辩说,忽略使用out参数的函数的可能副作用更容易,因为它偏离了传统的"多参数,一个返回值"模型.但老实说,我认为out关键字加上一个方法后置条件使得程序员的意图非常明确.

  • 我不确定我是否同意通常最好使用“输出”值而不是返回对象的概念,但这也许是因为我没有按照您的意图解释任意值。对我而言,返回值的集合(具有单个返回对象的属性)通常比必须声明和维护的变量列表具有更大的灵活性,但是我同意两种情况都有很好的情况。在TryParse类型方法中,它们似乎很有意义,我同意,其中<var type> + bool(成功吗?)的“特殊”结构似乎过大了。 (2认同)