Domanda

Sto cercando di controllare l'output dei valori per essere sempre sotto (X) Senza chiamare una discussione ogni volta ::

Piccolo esempio ~

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

C'è un modo migliore per farlo senza chiamare argomenti ogni volta ?? Purtroppo l'aumento della quantità e della complessità dei numeri (Sto usando array 3D di valori nel mio codice) Questo diventa un collo di bottiglia leggero

È stato utile?

Soluzione 2

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

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

        return Speed;
    }
    set;
    }

Immagino che tu possa arrotolare i calcoli per evitare di ripetere le sommazioni in più luoghi.

Consiglio di evitare l'ottimizzazione prematura. Sulla base del tuo esempio, non sembra che le prestazioni saranno un grosso problema. Stai effettivamente vedendo problemi di prestazione?

Altri suggerimenti

In questo momento stai facendo l'aggiunta due volte. Lo farei:

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

Con il senno di poi, una versione più pulita di questo codice sarebbe:

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

        return newSpeed;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top