【问题标题】:How to return an out parameter when sending a ref parameter? [duplicate]发送ref参数时如何返回out参数? [复制]
【发布时间】:2019-06-25 13:17:45
【问题描述】:

我正在发送一个 ref 参数;想要返回一个输出参数。我是否还需要与 ref 方法一起创建另一个方法?

这是我正在处理的一些上下文:“创建一个内部静态 void 方法,该方法接收摄氏度作为 ref 参数并返回华氏度作为输出参数。此方法中没有输入或输出。”

internal static void(ref int c, out int f){
f = c + 32;
return f;
} 

【问题讨论】:

  • 我认为这段代码是为了演示问题,但请注意你遗漏了一些乘法:)
  • 已经问过如何从void 方法“返回”值。特别是stackoverflow.com/a/6308688/477420 展示了如何返回值。

标签: c# methods return-type ref out


【解决方案1】:

您的方法有两个问题 - 您缺少方法名称,并且当您的方法签名指定 void 返回类型时,您正在返回一个值。

第三件事,虽然不是问题,但没有必要将 c 声明为 ref 参数,因为它没有在您的方法中被更改。

internal static void convertCelciusToFahrenheit (ref int c, out int f){
    f = c + 32;
}

您可能还想查看您的math to convert celsius to fahrenheit

【讨论】:

  • 如果任务中明确要求将 c 声明为 ref 参数,为什么您会说没有意义? "接收摄氏度作为参考参数"
  • 我承认这是所请求任务的一部分,这就是为什么它在我的解决方案中。我只是想指出,在这个例子中它没有任何实际用途。
猜你喜欢
  • 2013-04-18
  • 1970-01-01
  • 2011-02-20
  • 2012-03-01
  • 2016-08-07
  • 2011-07-26
  • 2020-05-12
  • 2012-08-08
  • 1970-01-01
相关资源
最近更新 更多