Türler için bayt boyutu, yalnızca tek bir dille uğraşmanız gerektiğinde (ve matematik taşmalarını kendinize hatırlatmanız gerekmeyen kodlar için) çok ilginç değildir. İlginç olan kısım, bir dilden diğerine, C #'dan COM nesnesine vb. Arasında köprü oluşturduğunuzda veya biraz kaydırma veya maskeleme yaptığınızda ve kendinize hatırlatmanız (ve kod gözden geçirme ortaklarınız) veri boyutu.
Uygulamada, genellikle yönetilen C ++ (örneğin C # için köprü) ve yönetilmeyen / yerel C ++ yazdığım için kendime hangi boyutta olduklarını hatırlatmak için Int32 kullanıyorum.
Muhtemelen bildiğiniz sürece, C # 64 bit, ancak doğal C ++ 'da 32 bit veya char unicode / 16-bit iken C ++' da 8 bittir. Ama bunu nasıl biliyoruz? Cevap, çünkü kılavuzda aradık ve öyle dedi.
Zaman ve deneyimlerle, C # ve diğer diller arasında köprü oluşturmak için kodlar yazdığınızda daha dikkatli davranmaya başlayacaksınız (buradaki bazı okuyucular "neden yapıyorsunuz?"), Ancak IMHO bunun daha iyi bir uygulama olduğuna inanıyorum çünkü Geçen hafta ne kodladığımı hatırlayamıyorum (veya API belgemde "bu parametre 32 bit tam sayıdır" belirtmek zorunda değilim).
In F # (bunu hiç kullanmadım rağmen), onlar tanımlamak int , Int32 ve nativeint . Aynı soru "hangisini kullanıyorum?" Diğerlerinin de belirttiği gibi, çoğu durumda, önemli olmamalıdır (şeffaf olmalıdır). Ama ben sadece belirsizlikleri gidermek için int32 ve uint32'yi seçerdim.
Sanırım Int32'yi ne zaman kullanacağınızı haklı çıkarmak için hangi uygulamaları kodladığınıza, kimi kullandığınıza, sizin ve ekibinizin takip ettiği kodlama uygulamalarına vb. Bağlı olacaktır.