Acceder a valor en ArrayList

12/07/2005 - 14:19 por José Luis | Informe spam
Buenos días,
¿como puedo obtener el valor de uno de los elementos de un ArrayList? Si
el ArrayList tiene 10 elementos como puedo saber una propiedad del
elemento nº5.

En realidad tengo un ArrayList compuesto por objetos de una clase creada
por mi (todos son iguales). Igual el ArrayList no es la mejor manera de
crear una matriz de objetos.

Gracias y un saludo,
José Luis

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
12/07/2005 - 20:33 | Informe spam
JL,

ArrayList está preparada para recibir objetos de cualquier tipo, o sea,
estáticamente el tipo de los objetos metidos en un ArrayList es
System.Object. Si has metido en la lista objetos de tu clase MiClase, cuando
los saques deberás hacer la conversión de tipos correspondiente, en caso
contrario tendrás un Object y el compilador dará error.

Suponiendo que la clase MiClase tiene una propiedad entera MiPropiedad, y
que has metido objetos de la clase MiClase dentro del ArrayList a, para
obtener el valor de esa propiedad del tercer objeto de la lista debes
hacerlo así:

int n = ( (MiClase) a[2] ).MiPropiedad;

Slds - Octavio

"José Luis" escribió en el mensaje
news:db0cej$1a0$
Buenos días,
¿como puedo obtener el valor de uno de los elementos de un ArrayList? Si
el ArrayList tiene 10 elementos como puedo saber una propiedad del
elemento nº5.

En realidad tengo un ArrayList compuesto por objetos de una clase creada
por mi (todos son iguales). Igual el ArrayList no es la mejor manera de
crear una matriz de objetos.

Gracias y un saludo,
José Luis
Respuesta Responder a este mensaje
#2 Tristan
13/07/2005 - 01:24 | Informe spam
Solo añadir a lo que ya te han dicho, que puedes crear clases
personalizadas, idénticas a ArrayList, pero fuertemente tipadas, de forma
que solo admitan el tipo que te interese, y de paso lo extraigan sin
necesidad de hacer casting. Para ello debes crear una clase derivada de
CollectionBase.

Tienes un ejemplo en la propia documentación de ArrayList. Ese ejemplo es
muy completo, normalmente basta con incluir solo los métodos this[], Add y
Remove.

Todo en espera de que la próxima versión incluya genéricos. Utilizando
genéricos quedaría simplificado a una simple declaración.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida