【问题标题】:Can i pass a reference from one function to another我可以将一个函数的引用传递给另一个函数吗
【发布时间】:2015-12-14 02:35:57
【问题描述】:

这里我有三个功能;将函数 1 的引用传递给函数 2。所以在函数 2 中,a 是一个引用。那么为什么不允许将相同的引用传递给函数 3?不使用关键字ref

功能一:

public void funReadA()
 {
    double a=10;
    //read value for a
    funReadB(ref a);
 }

功能 2:

 public void funReadB(ref double a)
   {
    double b = 25;
    a = 11;    
    // sum(a, b);this method call is not allowed
    sum(ref a, b);// why ref a is required? a is already a reference na?
   }

功能 3:

public double sum(ref double a,double b)
   {
       return a += b;
   }

【问题讨论】:

  • ref 不是数据类型。它不附加到a 变量。它附加到参数的定义中。
  • 你说的不允许是什么意思?
  • 我已经编辑了问题

标签: c# .net reference pass-by-reference


【解决方案1】:

调用站点上的ref 关键字主要用于确保编写调用代码的人知道他正在传递一个引用,以便值可以更改。

编程语言的角度来看,这并不是绝对必要的,但从程序员的角度来看,这是一个好主意。

【讨论】:

    猜你喜欢
    • 2021-02-04
    • 2011-09-15
    • 2022-06-12
    • 1970-01-01
    • 2011-10-31
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多