Question

Je cherche à contrôler la sortie des valeurs pour être toujours en dessous (X) sans appeler un argument à chaque fois ::

Petit exemple ~

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;
    }

Y a-t-il une meilleure façon de le faire sans appeler des arguments à chaque fois ?? Malheureusement à mesure que la quantité et la complexité des nombres augmentent (J'utilise des tableaux 3D de valeurs dans mon code) Cela devient un goulot d'étranglement léger

Était-ce utile?

La solution 2

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

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

        return Speed;
    }
    set;
    }

Je suppose que vous pouvez enrouler les calculs pour éviter de répéter les sommations à plusieurs endroits.

Je recommande d'éviter l'optimisation prématurée. Sur la base de votre exemple, il ne semble pas que les performances soient un problème. Voyez-vous réellement des problèmes de performances?

Autres conseils

En ce moment, vous faites l'ajout deux fois. Je ferais ça:

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

Avec le recul, une version plus propre de ce code serait:

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

        return newSpeed;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top