如何传递out参数?实现由调用函数为其赋值
关于out参数传递的问题
你想要的这种用法是可行的,但你的代码存在语法错误。在C#中,当把out参数传递给另一个同样接受out参数的函数时,必须显式使用out关键字标记参数,否则编译器会报错。
修正后的代码如下:
bool func1(out int additionalReturn) { //sample code additionalReturn = 0; return true; } bool func2(out int additionalReturn) { return func1(out additionalReturn); }
原理说明:
out参数的规则是必须在函数返回前被赋值,但如果当前函数把out参数传递给另一个带有out参数的函数,那么被调用的函数会负责完成赋值,当前函数不需要自己赋值,这完全符合语法规范。- 你原来的代码里缺少了传递参数时的
out关键字,这是语法错误的核心原因。
内容的提问来源于stack exchange,提问作者Daniel Bauer
相关产品推荐
相关产品推荐

