return ステートメントが何をしているのか正確に把握するのは難しいです。たとえば、この方法では...
public int GivePoints(int amount)
{
Points -= amount;
return amount;
}
リターンの後にランダムな整数を配置しても、GivePoints メソッドはまったく同じことを行います。では、return ステートメントは何をしているのでしょうか。
return ステートメントが何をしているのか正確に把握するのは難しいです。たとえば、この方法では...
public int GivePoints(int amount)
{
Points -= amount;
return amount;
}
リターンの後にランダムな整数を配置しても、GivePoints メソッドはまったく同じことを行います。では、return ステートメントは何をしているのでしょうか。
Returnは、関数を呼び出すと関数を終了します。したがって、returnステートメントの下にあるものはすべて実行されません。
基本的にreturn
、関数が実行するはずの操作が実行されたことを示し、この操作の結果(該当する場合)を呼び出し元に返します。
return
現在のメソッドから呼び出し元に制御を返し、送信された引数を返します。あなたの例では、GivePoints
は整数を返し、引数として整数を受け入れるように定義されています。あなたの例では、返される値は実際には引数の値と同じです。
戻り値はGivePoints
、この例では、定義されたメソッドを呼び出すコード内の別の場所から使用されます。
int currentPoints = GivePoints(1);
currentPoints
これは、値1が割り当てられることを意味します。
これが分解されるのは、それGivePoints
が評価されるということです。の評価はGivePoints
、メソッドが返すものに基づいています。GivePoints
入力を返すためGivePoints
、上記の例では1と評価されます。
あなたの例では、関数はあなたがそれに送っている正確な数を返しています。この場合、渡した値はすべてamount
。したがって、現在のコードでの戻りは少し無意味です。
したがって、あなたの例では:
int x = GivePoints(1000);
xは1000に等しくなります
当初の目標の単なる推測
public int GivePoints(int amount)
{
Points -= amount;
return Points;
}
したがって、 return はポイントの更新された値を返します
これがあなたのケースでない場合、コードは
public void GivePoints(int amount)
{
Points -= amount;
}