Visual CSharp .NET - Sintetizar un conjunto de or's en un if

 
Vista:

Sintetizar un conjunto de or's en un if

Publicado por Silvia (3 intervenciones) el 10/05/2009 00:51:56
Un saludo.

Existe forma de sintetizar esta instrucción?

if (p == 20 || p == 30 || p == 40 || p == 50 || p == 60 || p == 70 || p == 80 || p == 90)
{}

Gracias

Ojo, NO es un rango entre p>=20 y p<=90.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sintetizar un conjunto de or's en un if

Publicado por lincoln (16 intervenciones) el 10/05/2009 02:29:47
pues no creo que haya forma de sinntetizar eso, pero si hay una forma mejor de tratar ese tipo de situaciones, yo te recomendaria que lo hagas en un switch

de esta forma:

int p;
switch(p)
{
case 20: <instrucciones>; break;
.
.
.
.
.
.
case 90:<instrucciones>;break;
}

aui tienes un ejemplo mas claro

using System;
class SwitchTest
{
static void Main()
{
Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large");
Console.Write("Please enter your selection: ");
string s = Console.ReadLine();
int n = int.Parse(s);
int cost = 0;
switch(n)
{
case 1:
cost += 25;
break;
case 2:
cost += 25;
goto case 1;
case 3:
cost += 50;
goto case 1;
default:
Console.WriteLine("Invalid selection. Please select 1, 2, or 3.");
break;
}
if (cost != 0)
{
Console.WriteLine("Please insert {0} cents.", cost);
}
Console.WriteLine("Thank you for your business.");
}
}

espero que te sirva. culaquier duda no dudes en escribir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sintetizar un conjunto de or's en un if

Publicado por Silvia (3 intervenciones) el 15/05/2009 19:00:00
Gracias Lincoln por responder, sin embargo esto no me es funcional, de echo decidí utilizar if ya que switch no daba la opción de poder poner varias opciones para un sólo resultado, o sea, se puede si pones varios case sin break y sólo las instrucciones y el break en el último case, pero y si el rango es considerable?, entonces para lo que me ocupa no me funciona.

Tu ejemplo considera varios resultados para varios casos y lo que muestro es varios casos para un mismo resultado.

Bueno, gracias igualmente.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar