【问题标题】:Maintain variable value in method and caller method在方法和调用者方法中维护变量值
【发布时间】:2012-05-30 09:10:52
【问题描述】:

如何在调用函数中维护作为参数传递以调用函数的变量的值?

【问题讨论】:

  • 欢迎来到美妙的闭包世界:)
  • 你可以使用byref,但它通常显示出代码设计的一个弱点。
  • 这是用于匿名方法还是标准方法调用?
  • @Jeff 表示虽然您可以这样做,但这不是一个好主意。这是糟糕的设计,并且会导致代码脆弱(难以更改和适应的代码)。
  • 是的,没错。如果您正在创建一个函数,则预计它将返回一个结果。在这个函数中传递了变异的参数是一种“副作用”,很少被归类为理想的行为。它有它的用途,但就像哈瓦那酱一样,应该少用,不要用在生日蛋糕上。

标签: c# function call


【解决方案1】:

使用 ref 关键字,这将保留您的变量。

private void method()
{
    int a = 10;
    function(ref a);
}

private void function(ref int a)
{
    //do work and change value of a
}

【讨论】:

  • 取决于您在程序中使用的任何名称,或者参数的数量可能会有所不同
猜你喜欢
  • 1970-01-01
  • 2013-10-10
  • 2020-10-24
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多