Hacer un IN en C#

Esto viene de una de las preguntas de un Newsgroup, que me ha resultado curiosa y lo pongo aqui:

Pelusa pregunto lo siguiente:

alguien sabe si en C# se puede hacer algo parecido a un IN?
es decir, algo semejante a esto:
int i = 3;
if (i IN (1,3,5,7))
{
hacer_algo();

Mi respuesta es la siguiente:

Hola, si son enteros, es mas bien sencillo asi:

.cf { font-family: Courier New; font-size: 8pt; color: black; background: white; }.cl { margin: 0px; }.cln { color: #2b91af; }.cb1 { color: blue; }.cb2 { color: teal; }.cb3 { color: maroon; }

1 int[] i = { 1, 3, 5, 7 };

2 if (new ArrayList(i).Contains(8))

3 {

4 MessageBox.Show((“Encontrado”));

5 }

Contains compara instancias de objetos, si creas dos objetos cuyo
estado es identico, pero son instancias diferentes, Contains va a
fallar, a no ser que sobrecarges la funcion Object.Equals.
Tambien lo puedes hacer asi:

.cf { font-family: Courier New; font-size: 8pt; color: black; background: white; }.cl { margin: 0px; }.cln { color: #2b91af; }.cb1 { color: blue; }.cb2 { color: teal; }.cb3 { color: maroon; }

1 int[] i = { 1, 3, 5, 7 };

2 int val = 3;

3 if (Array.Find(i, delegate(int p)

4 {

5 return p == val;

6 }) == val)

7 {

8 MessageBox.Show(“Encontrado”);

9 }

Pero lo bueno es que lo puedes implementar en una sola linea y seguro
que te vale para cualquier tipo de objeto.

Todavía no hay comentarios

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Etiquetas HTML permitidas: <a> <blockquote> <br> <cite> <code> <dd> <div> <dl> <dt> <em> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <img> <li> <ol> <p> <pre> <span> <strong> <swf> <table> <tbody> <td> <th> <tr> <ul>
    Allowed Style properties: background-color, background-image, border, border-bottom, border-bottom-color, border-bottom-style, border-bottom-width, border-color, border-left, border-left-color, border-left-style, border-left-width, border-right, border-right-color, border-right-style, border-right-width, border-spacing, border-style, border-top, border-top-color, border-top-style, border-top-width, border-width, color, direction, font, font-family, font-size, font-style, font-variant, font-weight, height, left, line-height, list-style-type, margin, margin-bottom, margin-left, margin-right, margin-top, padding, padding-bottom, padding-left, padding-right, padding-top, right, text-align, text-decoration, top, width
  • Syntax highlight code surrounded by the {syntaxhighlighter OPTIONS}...{/syntaxhighlighter} tags.
  • E-Mail addresses are hidden with reCAPTCHA Mailhide.

Más información sobre opciones de formato

CAPTCHA
Esta pregunta es para comprobar si eres un ser humano y evitar el envío automático desde sistemas de spam