Ukuran byte untuk tipe tidak terlalu menarik ketika Anda hanya perlu berurusan dengan satu bahasa (dan untuk kode yang Anda tidak perlu mengingatkan diri sendiri tentang kelebihan matematika). Bagian yang menjadi menarik adalah ketika Anda menjembatani antara satu bahasa ke bahasa lain, C # ke objek COM, dll., Atau Anda melakukan sedikit perubahan atau penyembunyian dan Anda perlu mengingatkan diri sendiri (dan co-wokers review-kode Anda) dari ukuran data.
Dalam prakteknya, saya biasanya menggunakan Int32 hanya untuk mengingatkan diri saya sendiri berapa ukurannya karena saya menulis managed C ++ (untuk menjembatani ke C # misalnya) serta tidak dikelola / asli C ++.
Selama Anda mungkin tahu, dalam C # adalah 64-bit, tetapi dalam bahasa asli C ++, berakhir sebagai 32-bit, atau char adalah unicode / 16-bit sedangkan di C ++ itu adalah 8-bit. Tapi bagaimana kita tahu ini? Jawabannya adalah, karena kami telah mencarinya di manual dan dikatakan demikian.
Dengan waktu dan pengalaman, Anda akan mulai menjadi lebih tipe-teliti ketika Anda menulis kode untuk menjembatani antara C # dan bahasa lain (beberapa pembaca di sini berpikir "mengapa Anda mau?"), Tapi IMHO saya percaya itu adalah praktik yang lebih baik karena Saya tidak ingat apa yang saya kodekan minggu lalu (atau saya tidak harus menentukan dalam dokumen API saya bahwa "parameter ini adalah integer 32-bit").
Dalam F # (walaupun saya belum pernah menggunakannya), mereka mendefinisikan int , int32 , dan nativeint . Pertanyaan yang sama harus muncul, "yang mana yang saya gunakan?". Seperti yang disebutkan orang lain, dalam banyak kasus, itu tidak masalah (harus transparan). Tetapi saya untuk satu akan memilih int32 dan uint32 hanya untuk menghapus ambiguitas.
Saya kira itu hanya akan tergantung pada aplikasi apa yang Anda koding, siapa yang menggunakannya, apa praktik pengkodean yang Anda dan tim Anda ikuti, dll. Untuk membenarkan kapan harus menggunakan Int32.