gpt4 book ai didi

c# - c# 中的 out 参数是什么以及我们为什么使用它

转载 作者:行者123 更新时间:2023-11-30 20:11:36 26 4
gpt4 key购买 nike

为什么我们要使用输出参数,例如

void f() {
int first, next;
read(out first, out next);
}

void read (out int first, out intnext) {
first = console.read();
next = console.read();
}

我们为什么不使用以下代码而不是编写所有这些代码:

void f() {
int first, next;
first = console.read();
next = console.read();
}

最佳答案

out参数很像有一个额外的返回值。

out 很少是个好主意具有 void 返回类型的方法中的参数,如您给出的示例......但有时您希望能够一次返回多个值。即使在您的示例中,您可能也希望在单个方法调用中封装“我正在从控制台读取两次”的想法。在这种情况下不太可能,因为操作很容易分离 - 但在其他情况下,执行某些工作自然会提供两位信息,并且您不想重复工作以获得这两位信息。当然,您可以将它们封装在一个新的结构或类中,但有时这会很痛苦。

对于 .NET 4,返回 Tuple<...> 通常是更好的主意相反,请注意。所以 int.TryParse

的签名
bool TryParse(string text, out int value)

可能会更好

Tuple<bool, int> TryParse(string text)

关于c# - c# 中的 out 参数是什么以及我们为什么使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3581859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com