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

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

我建议看一下像int这样的内置类型的TryParse方法。 返回值是一个bool,表示成功,而值是通过out参数返回的。 这个结构使得在循环结构中调用此方法很有用,其中另一个返回类型会/可能使它更复杂一些。

在进一步的反思中,一个con可能是仅仅继续向方法添加参数而不是正确地封装逻辑的趋势。

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

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

如你所说,没有out参数,你只能返回一个值,out关键字允许你“返回”多个值

在C#中,您无法返回多个变量,因此如果您不想通过类(返回包含这些多个变量的类),则可以使用out参数来完成工作。