Puesto que C# soporta Int8
, Int16
, Int32
y Int64
, ¿por qué los diseñadores de la lengua eligen para definir int
como un alias para Int32
en lugar de permitir que varíe en función de lo que la arquitectura nativa considera una word
?En C#, ¿por qué "int" es un alias para System.Int32?
No he tenido ninguna necesidad específica de int
para comportarme de manera diferente a como lo hace, solo estoy pidiendo por puro interés enciclopédico.
Creo que podría existir una arquitectura RISC de 64 bits que sería la más eficaz para admitir únicamente cantidades de 64 bits, y en la que las manipulaciones de cantidades de 32 bits requerirían operaciones adicionales. Tal arquitectura estaría en desventaja en un mundo en el que los programas insisten en usar enteros de 32 bits, que es otra forma de decir que C#, convirtiéndose en el lenguaje del futuro y todo, esencialmente impide que los diseñadores de hardware encuentren tales una arquitectura en el futuro.
StackOverflow no fomenta las respuestas especulativas, por lo que le pedimos que responda solo si su información proviene de una fuente confiable. Me he dado cuenta de que algunos miembros de SO son expertos de Microsoft, así que esperaba que pudieran darnos información sobre este tema.
Nota 1: lo hice, de hecho, lea todas las respuestas y todos los comentarios de SO: Is it safe to assume an int will always be 32 bits in C#?, pero no encontró ninguna pista sobre la razón por la que yo estoy pidiendo en esta pregunta.
Nota 2: la viabilidad de esta cuestión en el SO es decir (sin resultados) discutió aquí: Meta: Can I ask a “why did they do it this way” type of question?
Si desea un "tipo de tamaño de máquina-palabra", está buscando 'System.IntPtr'. –
Sí, pero tendemos a hacer aritmética con 'int's, no con' IntPtr's. –
¿Por qué los votos a favor? – gdoron