【发布时间】:2010-11-15 02:41:55
【问题描述】:
任何人都可以指出out参数的优缺点。当首选使用 out 参数而不是仅仅返回一个值时。
【问题讨论】:
任何人都可以指出out参数的优缺点。当首选使用 out 参数而不是仅仅返回一个值时。
【问题讨论】:
Out 参数有效地允许您从一个方法返回多个值,这通常比返回包含多个值的任意结构或元组更可取。
有人可能会争辩说,使用 out 参数的函数更容易忽略可能的副作用,因为它背离了传统的“多参数,一个返回值”模型。但老实说,out 关键字加上方法后置条件让程序员的意图很明确。
【讨论】:
我建议看一下 int 等内置类型的 TryParse 方法。返回值是一个表示成功的布尔值,而该值是通过 out 参数返回的。这种构造使得在循环构造中调用此方法很有用,其中另一种返回类型会/可能使其更复杂。
进一步思考,一个缺点可能是倾向于只向方法添加参数,而不是正确封装逻辑。
【讨论】:
正如你所说,没有out参数,你只能返回一个值,out关键字允许你“返回”多个值
【讨论】:
在 C# 中,您不能返回多个变量,因此如果您不想遍历一个类(返回具有这些多个变量的类),您可以使用 out 参数来完成这项工作。
【讨论】: