Foros del Web » Programación para mayores de 30 ;) » .NET »

encontrar item en coleccion

Estas en el tema de encontrar item en coleccion en el foro de .NET en Foros del Web. Buenas a todos. Tengo un pequeño problemita que quisiera ver si me pueden ayudar a solucionar. Estoy programando en VB.net. Tengo una coleccion "generica", (usando ...
  #1 (permalink)  
Antiguo 14/08/2006, 12:39
 
Fecha de Ingreso: enero-2006
Mensajes: 16
Antigüedad: 19 años
Puntos: 0
Pregunta encontrar item en coleccion

Buenas a todos. Tengo un pequeño problemita que quisiera ver si me pueden ayudar a solucionar.

Estoy programando en VB.net. Tengo una coleccion "generica", (usando el "List(of ....)"). Esta lista tiene un nro de matricula de alumnos y sus respectivos nombres. Quisiera saber si existe alguna forma "elegante" de acceder directamente al nombre de un alumno a partir de su nro. de matricula.

En este momento lo unico que se me ocurre es hacer un while desde 0 hasta el final preguntando si "matricula" es igual a la que estoy buscando, una por una hasta encontrarlo. Hay un metodo, "find", pero no se como se utiliza. Me pide un System.Predicate que no se como usar, alguno tiene idea?

Gracias de antemano, espero que alguien me pueda ayudar!

Saludos!
  #2 (permalink)  
Antiguo 14/08/2006, 17:13
 
Fecha de Ingreso: agosto-2006
Mensajes: 1
Antigüedad: 18 años, 6 meses
Puntos: 0
Utiliza Dictionary<int, string>

Utiliza Dictionary<int, string>
  #3 (permalink)  
Antiguo 15/08/2006, 12:55
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 18 años, 11 meses
Puntos: 1
Como dice cadi, tienes que utilizar un diccionario.
Para tu caso haz que la key sea el número de matrícula y desués simplemente pregunta por el value de tal key. Si te tira null es que el alumno no está en la lista.
__________________
saludos
seba
http://sgomez.blogspot.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:40.