質問

私は常に下にある値の出力を制御しようとしています (X) 毎回議論を呼ぶことなく::

小さな例〜

public int CurrentSpeed;
public int MaxSpeed;
private int caracceleration;
private int Blarg;

public int CarAcceleration{
    get{ 
        Blarg = CurrentSpeed + caracceleration;
        if(Blarg >= MaxSpeed){
            Blarg = MaxSpeed
        }

        return Blarg

    set;
    }

毎回議論を呼ぶことなくこれを行うより良い方法はありますか?悲しいことに、数の量と複雑さが増加するにつれて (コードで3Dの値の配列を使用しています) これは軽いボトルネックになります

役に立ちましたか?

解決 2

public int Speed
{
  get
  {
     return CurrentSpeed + CarAcceleration;
  {
}

public int CarAcceleration{
    get
    { 
        if(Speed >= MaxSpeed)
        {
            return MaxSpeed
        }

        return Speed;
    }
    set;
    }

複数の場所で合計を繰り返すことを避けるために、計算をロールアップできると思います。

時期尚早の最適化を回避することをお勧めします。あなたの例に基づいて、パフォーマンスが大きな問題になるとは思われません。あなたは実際にパフォーマンスの問題を見ていますか?

他のヒント

今、あなたは2回追加をしています。私はこれをします:

get{ 
        var newSpeed = CurrentSpeed + CarAcceleration;
        if( newSpeed >= MaxSpeed){
            return MaxSpeed;
        }
        else{
            return newSpeed;
        }
}

後知恵では、このコードのクリーンなバージョンは次のとおりです。

get{ 
        var newSpeed = CurrentSpeed + CarAcceleration;
        if( newSpeed >= MaxSpeed){
            newSpeed = MaxSpeed;
        }

        return newSpeed;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top