13.07.2015 Views

Instrucciones y excepciones.pdf - Willy .Net

Instrucciones y excepciones.pdf - Willy .Net

Instrucciones y excepciones.pdf - Willy .Net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Instrucciones</strong> y <strong>excepciones</strong> 12Una instrucción switch sólo se puede utilizar para evaluar los siguientes tiposde expresiones: cualquier tipo entero, un char, una enum o una string.También es posible evaluar otros tipos de expresiones con la instrucciónswitch, siempre y cuando haya exactamente una conversión implícita definidapor el usuario del tipo no permitido a uno de los tipos permitidos.Nota Al contrario de lo que ocurre en Java, C o C++, el tipo que rige unainstrucción switch en C# puede ser una cadena. Con una expresión de cadena,la constante de una etiqueta case puede tener el valor null.Para más información sobre operadores de conversión, busque “operadores deconversión” en los documentos de ayuda del SDK de Microsoft .NETFramework.Grupos de constantesPara agrupar varias constantes hay que repetir la palabra clave case para cadauna de ellas, como se muestra en el siguiente ejemplo:enum MesNombre { Enero, Febrero, ..., Diciembre }MesNombre actual;int mesDias;...switch (actual) {case MesNombre.Febrero :mesDias = 28;break;case MesNombre.Abril :case MesNombre.Junio :case MesNombre.Septiembre :case MesNombre.Noviembre :mesDias = 30;break;default :mesDias = 31;break;}Las etiquetas case y default se utilizan únicamente como puntos de entradapara el flujo de control del programa en función del valor de la expresiónswitch, pero no modifican el flujo de control.Los valores de las constantes en las etiquetas case deben ser únicos, lo quesignifica que no puede haber dos constantes con el mismo valor. Por ejemplo,este ejemplo generará un error en tiempo de compilación:switch (cartas) {case Palo.Treboles :case Palo.Treboles: // Error: etiqueta duplicada...default :default : // Error: etiqueta duplicada de nuevo...}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!