Búsquedas en ArrayList

19/05/2010 - 07:27 por Rafael Villaran. RAVIPE | Informe spam
Hola a tod@s.
Tengo un arraylist donde cada elemento es un array string (string[]) de dos
elementos.

No consigo encontrar elementos del ArrayList que me consta que existen. He
usado IndexOf y Contains pero siempre me devuelve -1.

Gracias de antemano por la ayuda que prestáis.
Un saludo.
rafael villaran
 

Leer las respuestas

#1 Alberto Poblacion
19/05/2010 - 09:11 | Informe spam
"Rafael Villaran. RAVIPE"
wrote in message news:
Tengo un arraylist donde cada elemento es un array string (string[]) de
dos
elementos.

No consigo encontrar elementos del ArrayList que me consta que existen. He
usado IndexOf y Contains pero siempre me devuelve -1.



Tanto el IndexOf como el Contains buscan usando el método Equals heredado
de Object. Para un array de strings, el Equals devuelve lo mismo que
ReferenceEquals, con lo que los valores comparados sólo se consideran
iguales si _apuntan_ al mismo elemento en memoria (el mismo array con dos
strings). No considera que dos arrays sean iguales aunque en su interior
contengan sendas cadenas que sí que son iguales. Si necesitas hacer este
tipo de búsqueda, tendrás que hacerla con un bucle en el que vayas leyendo
elemento por elemento y comparando las cadenas. O bien cambiar el array de
dos cadenas por una clase tuya que contenga los dos valores y en la que
hagas un override de Equals y CompareTo que se comporten como deseas.

Preguntas similares