En este post de programación con C# te mostraré cómo buscar un elemento en un array. De este modo vamos a saber si un arreglo contiene determinado elemento, y si lo contiene, sabremos en qué posición está.
Básicamente vamos a buscar el índice que un elemento tiene dentro de un arreglo de C sharp. Te mostraré dos formas: una usando métodos que ya existen y otra que es una forma manual.
Con Array.IndexOf
El método Array.IndexOf
de C# nos devuelve el índice que el elemento ocupa dentro del arreglo, o -1
en caso de que no exista. Su sintaxis es:
Posible índice = Array.IndexOf(arreglo, búsqueda);
Aquí un ejemplo:
En este caso la búsqueda no existe, lo he hecho a propósito para demostrarlo, pero si cambias el valor verás que funciona. Esto igualmente funciona para otros tipos de arreglo.
Si quieres puedes probar el ejemplo en este enlace.
Buscar en array de C# manualmente
Nosotros podemos fabricar nuestro propio IndexOf
. Básicamente tenemos que recorrer el arreglo e ir comparando cada elemento con la búsqueda.
Si encontramos el elemento que buscamos, devolvemos el índice en el que vamos. En caso de terminar de recorrer el arreglo y no encontrar lo que buscamos, devolvemos -1
. Eso se traduce al siguiente código:
En este caso el ejemplo que te he mostrado es con enteros, pero eso funcionará con cualquier tipo de dato siempre y cuando sepamos compararlo correctamente; incluso podríamos usar genéricos.
Al momento de ejecutarlo en mi caso aparece lo siguiente:
Así que funciona perfectamente, pues con esto puedes saber si el arreglo contiene o no el elemento, y si lo contiene, tendrás el índice para saber su posición.
Hay otras variantes que por ejemplo buscan el último índice (recorriendo el arreglo de fin a principio), esto es útil cuando el arreglo puede tener repetidos, pues IndexOf
regresa el índice del primer elemento.
Si quieres puedes probar el ejemplo aquí. Para terminar te dejo con más tutoriales de C sharp o C#.