como utilizar SWITCH

04/02/2005 - 10:06 por Anonimo | Informe spam
Hola

tengo una pregunta doble acerca del uso de switch

1.- es posible utilizarla con valores del tipo double ???

2.-

quiero hacer algo asi

valor

switch (valor)
{
case (>50):
break;
case (>25):
break;
...
}

como se hace exactamente ???

Saludos y muchas gracias

Preguntas similare

Leer las respuestas

#1 Juan
04/02/2005 - 11:06 | Informe spam
Creo que switch solo se puede utilizar para comparar valores constantes, no
se pueden aplicar condiciones en las claúsulas case.

Deberás utilizar if anidados, que viene a ser lo mismo.

Un saludo

escribió en el mensaje
news:
Hola

tengo una pregunta doble acerca del uso de switch

1.- es posible utilizarla con valores del tipo double ???

2.-

quiero hacer algo asi

valor

switch (valor)
{
case (>50):
break;
case (>25):
break;
...
}

como se hace exactamente ???

Saludos y muchas gracias


Respuesta Responder a este mensaje
#2 Miguel
04/02/2005 - 20:01 | Informe spam
Podrias usar algo así:

switch (true)
{
case (valor>50):
break;
case (valor>25):
break;

}

Saludos,




"" wrote:

Hola

tengo una pregunta doble acerca del uso de switch

1.- es posible utilizarla con valores del tipo double ???

2.-

quiero hacer algo asi

valor

switch (valor)
{
case (>50):
break;
case (>25):
break;

}

como se hace exactamente ???

Saludos y muchas gracias



Respuesta Responder a este mensaje
#3 Octavio Hernandez
04/02/2005 - 20:02 | Informe spam
Juan,

a) switch no vale para expresiones de tipo double, sólo para tipos ordinales
(enteros, bool, char y enumeraciones) y además para string (sobre esto yo
habría votado en contra, pero nadie me preguntó :-)
b) en las cláusulas case sólo vale poner constantes.
c) como dice Juan, usa if anidados:
if (valor > 50)
{
{
else if (valor > 25)
{
}

Slds - Octavio

escribió en el mensaje
news:
Hola

tengo una pregunta doble acerca del uso de switch

1.- es posible utilizarla con valores del tipo double ???

2.-

quiero hacer algo asi

valor

switch (valor)
{
case (>50):
break;
case (>25):
break;
...
}

como se hace exactamente ???

Saludos y muchas gracias


Respuesta Responder a este mensaje
#4 Helio
08/02/2005 - 00:54 | Informe spam
El dia Fri, 04 Feb 2005 11:01:02 -0800, en/na Miguel va escriure:

Podrias usar algo así:

switch (true)
{
case (valor>50):
break;
case (valor>25):
break;

}



Siento contradecirte, pero esto no funciona:

$ mcs main.cs
main.cs(8) error CS0150: A constant value is expected, got: operator >(Mono.CSharp.LocalVariableReference (d:main.cs: (8)), Mono.CSharp.OpcodeCast)
main.cs(11) error CS0150: A constant value is expected, got: operator >(Mono.CSharp.LocalVariableReference (d:main.cs: (11)), Mono.CSharp.OpcodeCast)
Compilation failed: 2 error(s), 0 warnings

<codigo>
using System;

public class pepe {

static void Main(String[] args) {
double d = 50.0f;
switch(true) {
case (d > 50.0f):
Console.WriteLine("> 50.0f");
break;
case (d > 25.0f):
Console.WriteLine("> 25.0f");
break;
default:
Console.WriteLine("<= 25.0f");
}
}

}
</codigo>

Con el "if" anidado ya vale, tampoco va a compilar un código más óptimo
con el switch.


Saludos,




Saludos!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida