c# - variable - integrales compuestas
¿Qué son exactamente los tipos integrales? (3)
Después de estudiar la documentación del interruptor y descubrirlo, solo puedo activar los tipos integrales que establecí para buscar una definición. No puedo encontrar uno en ninguna parte. Solo puedo encontrar una lista de tipos integrales .
Podría suponer que los tipos integrales son los tipos que están integrados en el lenguaje, sin embargo, sería más feliz con una definición adecuada. ¿Alguien tiene uno?
"Integral" se refiere a tipos enteros (es decir, números enteros). En C # esto significa tipos como int
, long
, short
, etc.
Por favor, consulte la tabla de tipos integrales (referencia C #) :
La siguiente tabla muestra los tamaños y rangos de los tipos integrales, que constituyen un subconjunto de tipos simples.
Editar: tenga en cuenta que la instrucción switch
admite cadenas literales.
El sentido de ''integral'' que se usa aquí es el de la subsección b de la subsección 1 de la sección 1 (!) En http://www.merriam-webster.com/dictionary/integral :
ser, contener o estar relacionado con uno o más enteros matemáticos
La documentación que está estudiando fue escrita en 2003 y no está actualizada para la última versión del idioma. Sugiero que deje de estudiar el archivo de la documentación de 2003 y lea la documentación de 2010 si está utilizando una versión más moderna de C #.
La referencia definitiva que responde a su pregunta es la especificación C # sección 8.7.2, una parte de la cual reproduzco para su conveniencia aquí.
El tipo de gobierno de una instrucción de conmutación se establece mediante la expresión de conmutación.
• Si el tipo de expresión del interruptor es sbyte, byte, short, ushort, int, uint, long, ulong, bool, char, string o enum-type, o si es el tipo anulable correspondiente a uno de estos tipos , entonces ese es el tipo de gobierno de la declaración de cambio.
• De lo contrario, debe existir exactamente una conversión implícita definida por el usuario del tipo de expresión del interruptor a uno de los siguientes tipos de gobierno posibles: sbyte, byte, short, ushort, int, uint, long, ulong, char, string o un tipo anulable correspondiente a uno de esos tipos.
• De lo contrario, si no existe tal conversión implícita, o si existe más de una conversión implícita, se produce un error en tiempo de compilación.