c#将参数值从函数传递给其他函数

时间:2016-08-28 10:34:56

标签: c# function parameters parameter-passing

有没有办法从" functionone"中获取参数值?并在" functiontwo"中计算它。没有再写那个小代码,例如我的意思

public void functionone(int x, int y)
{

   x = 1;
   y = 2;

}

public void functiontwo(int a , int b )
{
   a=x+y;
   b=x-y;

   Console.WriteLine(a);
   Console.WriteLine(b);


}

2 个答案:

答案 0 :(得分:0)

我猜你正在错误地实现functionone 这样做:     public void functionone(int x,int y)     {        x = 1;        y = 2;     } 通常不是在方法中传递参数和更改其值的方法, 或者用另一种方式说,x和y应该保存你作为参数传递的值,而不是在方法中分配..

定义全局x和全局y,然后您可以在该范围内的任何位置访问它。

实施例

class Abc{
    int globalX;
    int globalY;
....
public void functionone(int x, int y)
{
   globalX = 1 + x;
   globalY = 2 + y;
}

public void functiontwo(int a , int b )
{
   a=globalX + globalY;
   b=globalX - globalY;

   Console.WriteLine(a);
   Console.WriteLine(b);
}

}

答案 1 :(得分:0)

解释我的comment

<input type="time" th:placeholder="${recipe.prepTime}" th:field="${recipe.prepTime}"/>

这样您就可以设置传递给int globalX; int globalY; public void functionone(ref int x, ref int y) { x = 1; y = 2; } public void functiontwo(ref int a , ref int b) { a = globalX + globalY; b = globalX - globalY; Console.WriteLine(a); Console.WriteLine(b); } // in main functionone(ref globalX, ref globalY); // globalX and globalY are now 1 and 2 functiontwo(ref a, ref b); // a = 3 and b = -1 -> 'globalX +/- globalY' functionone的任何变量的值。

然而它看起来不太好,在我看来这不是一个好的代码。您的概念似乎有误,所以也许您可以发布您遇到的问题的描述?