El tamaño de los bytes para los tipos no es demasiado interesante cuando solo tiene que lidiar con un solo idioma (y para el código que no tiene que recordar sobre desbordamientos matemáticos). La parte que se vuelve interesante es cuando haces un puente entre un idioma y otro, C # a un objeto COM, etc., o estás haciendo algunos cambios de bits o enmascarando y necesitas recordarte a ti mismo (y a tus compañeros de trabajo de revisión de código) del tamaño de los datos.
En la práctica, generalmente uso Int32 solo para recordarme de qué tamaño son porque escribo C ++ administrado (para conectar a C #, por ejemplo), así como C ++ no administrado / nativo.
Siempre que probablemente sepa, en C # es de 64 bits, pero en C ++ nativo, termina en 32 bits, o char es unicode / 16 bits, mientras que en C ++ es de 8 bits. ¿Pero cómo sabemos esto? La respuesta es, porque lo buscamos en el manual y así lo dijo.
Con el tiempo y las experiencias, comenzará a ser más consciente de los tipos cuando escriba códigos para unir entre C # y otros lenguajes (algunos lectores aquí piensan "¿por qué lo harían?"), Pero en mi humilde opinión, creo que es una mejor práctica porque No puedo recordar lo que he codificado la semana pasada (o no tengo que especificar en mi documento API que "este parámetro es un entero de 32 bits").
En F # (aunque nunca lo he usado), definen int , int32 y nativeint . La misma pregunta debería surgir, "¿cuál uso?". Como otros han mencionado, en la mayoría de los casos, no debería importar (debería ser transparente). Pero por mi parte, elegiría int32 y uint32 solo para eliminar las ambigüedades.
Supongo que solo dependerá de qué aplicaciones esté codificando, quién lo esté usando, qué prácticas de codificación siguen usted y su equipo, etc. para justificar cuándo usar Int32.