La dimensione dei byte per i tipi non è troppo interessante quando si ha a che fare solo con una singola lingua (e per il codice che non è necessario ricordare a te stesso sugli overflow matematici). La parte che diventa interessante è quando fai un ponte tra una lingua e un'altra, da C # a oggetto COM, ecc., O stai facendo qualche spostamento di bit o mascheramento e devi ricordare a te stesso (e ai tuoi co-wokers di revisione del codice) delle dimensioni dei dati.
In pratica, di solito uso Int32 solo per ricordare a me stesso di che dimensione sono perché scrivo C ++ gestito (per passare ad esempio a C #) e C ++ non gestito / nativo.
Per quanto probabilmente sai, in C # è 64 bit, ma in C ++ nativo, finisce come 32 bit, oppure char è unicode / 16 bit mentre in C ++ è 8 bit. Ma come lo sappiamo? La risposta è, perché l'abbiamo cercata nel manuale e lo ha detto.
Con il tempo e le esperienze, inizierai a essere più coscienzioso quando scrivi codici per creare un ponte tra C # e altre lingue (alcuni lettori qui pensano "perché dovresti?"), Ma IMHO credo che sia una pratica migliore perché Non ricordo cosa ho codificato la scorsa settimana (o non devo specificare nel mio documento API che "questo parametro è un numero intero a 32 bit").
In F # (anche se non l'ho mai usato), definiscono int , int32 e nativeint . La stessa domanda dovrebbe sorgere, "quale devo usare?". Come altri hanno già detto, nella maggior parte dei casi non dovrebbe importare (dovrebbe essere trasparente). Ma io per uno sceglierei int32 e uint32 solo per rimuovere le ambiguità.
Immagino dipenderebbe solo da quali applicazioni stai codificando, da chi lo sta usando, da quali pratiche di codifica segui te e il tuo team, ecc. Per giustificare quando usare Int32.