objeto, int , largo y bool fueron proporcionados como ruedas de entrenamiento para los ingenieros que tuvieron problemas para adaptarse a la idea de que los tipos de datos no eran una parte fija del idioma. C#, a diferencia de los idiomas anteriores, no tiene límite en la cantidad de tipos de datos que puede agregar. La biblioteca 'Sistema' ofrece un kit de inicio con tales tipos útiles como System.Int32, System.Boolean, System.Double, System.DateTime y así sucesivamente, pero se anima a los ingenieros para añadir su propia cuenta. Debido a que Microsoft estaba interesado en la rápida adopción de su nuevo idioma, proporcionaron alias que lo hicieron parecer como si el lenguaje fuera más parecido a "C", pero estos alias son una característica completamente desechable (C# sería un lenguaje tan bueno si eliminado todos los alias de compilación, probablemente mejor).
Si bien StyleCop impone el uso de los alias de estilo C heredados, es un defecto en un conjunto de reglas que de otro modo sería lógico. Hasta el momento, no he escuchado una sola justificación para esta regla (SA1121) que no se basó en el dogma. Si cree que SA1121 es lógico, ¿por qué no hay ningún tipo de buildin para datetime?
Así es como lo hago: utilizo int o string en el contexto de una variable primitiva (como int x = 0) y uso Int32 y String, etc. en el contexto de clases (como Int32.Parse o String.Empty) - no hace ninguna diferencia, sin embargo, al final se compila con el mismo tipo de CLR. –
¿por qué no publica eso como respuesta? –
Esta es una pregunta similar a esta: http://stackoverflow.com/questions/981434/can-anyone-give-me-a-really-good-reason-to-use-clr-type-names-instead- of-c-type – RichardOD