Sì Questo è particolarmente utile nei cicli for. Le persone spesso usano solo int, o permettono a var di determinare quale dovrebbe essere il tipo di variabile. Questo è inefficiente (ma non così terribilmente), ma per le persone come me che amano ottenere ogni grammo di prestazioni e sono semplicemente solleticati rosa utilizzando il tipo di dati più perfetto per una situazione, questo è fantastico.
for(SByte i = 0; i <= 10; i++)
{
...code
}
SByte consente di -128 a 127. Adoro questo piccolo tipo di dati perché salva in memoria ed è il tipo di dati più appropriato per la situazione in cui è giustificato.
Tuttavia, l'intero, in alcune lingue, è il tipo di dati più veloce per le operazioni aritmetiche, anche quando si tratta di un grande contenitore per ciò di cui si ha bisogno.
Arithmetic operations are faster with integral types than with other
data types. They are fastest with the Integer and UInteger types in
Visual Basic. 1 (msdn.com)
Quindi, in loop, sì, usa questo. Quando fai l'aritmetica, tuttavia, metti l'aria sul lato della cautela e usa un int a meno che non cerchi la lingua che stai usando per vedere quale sia il tipo più veloce.
- Aggiunta di un altro esempio che ho dato nei commenti -
Hai una classe che contiene 100 interi, ma nessuno degli interi andrà mai sopra il valore 10. Ogni volta che crei un oggetto di quella classe, stai bloccando 32 bit per int creando 32 * 100 = 3200 bit. Se hai sostituito questi valori con sBytes, stai bloccando 8 * 100 = 800. Stai salvando 2400 bit da utilizzare in qualsiasi altro luogo.