如何将参数值从一个函数传递给另一个函数

时间:2018-03-23 05:03:59

标签: c#

请帮我在另一个函数中使用“max value”的值

public int maxvalue;

public void Levelchoose(int maxvalue){    ***//The parameter***
    Application.LoadLevel ("Game");
}

void NextGuess(){

    //guess = (max + min) / 2;
    guess= Random.Range(min , max + 1);
    text.text = "Is the number greater or lower than "+guess.ToString ()+" ?";
    maxvalue = maxvalue - 1; ***//i want the parameter value right here***
    print (maxvalue);
    if (maxvalue<=0){
        Application.LoadLevel("Win");
}

1 个答案:

答案 0 :(得分:0)

两种方法:

  1. 将maxValue定义为全局类级变量。将Levelchoose中的值分配给该全局变量,然后它将在所有其他方法中可用。

  2. 更改NextGuess的签名以包含参数

    void NextGuess(int maxValue)
    
  3. 然后,传递调用方法的值。

    根据建议1的新代码。

    class MyGame
    {
        public int MaxValue;
    
        public void Levelchoose(int maxvalue){    
            Application.LoadLevel ("Game");
            MaxValue = maxvalue;
        }
    
        void NextGuess(){
    
            //guess = (max + min) / 2;
            guess= Random.Range(min , max + 1);
            text.text = "Is the number greater or lower than "+guess.ToString ()+" ?";
            MaxValue = MaxValue - 1; ***//i want the parameter value right here***
            print (MaxValue);
            if (MaxValue<=0){
                Application.LoadLevel("Win");
        }
    }