vectores

28/03/2006 - 18:06 por Enrique Garcia | Informe spam
Hola tengo una estructura con nombre, hora inicio y hora fin, de esa
estructura me creo un vector de 10, lo que quisiera saber es si existe por
ejemplo Pepito, 10:30, 10:50 en ese vector. podria mirar uno a uno pero no
valdria el metodo Find en tal caso como utilizarlo??

Muchas Gracias
 

Leer las respuestas

#1 Luis Miguel Blanco
29/03/2006 - 14:51 | Informe spam
Hola Enrique

En vez de utilizar un array básico puedes probar a usar un objeto
SortedList, que puedes utilizar como un array pero con más potencia, ya que
hereda de las clases Coleection. Este objeto te permite especificar un valor
como clave de búsqueda, por cada elemento que añadas a la colección, y aunque
no tiene un método Find(), puedes utilizar la sintaxis
objSorted("Valor_a_buscar") para encontrar el elemento dentro de la colección.

A continuación te expongo un ejemplo basado en el planteamiento que
comentas, en el que creamos una estructura, y añadimos varios elementos de
esta estructura a un SortedList, buscando después uno de los elementos en
esta colección.

'/////////////////////////////
Structure MisDatos
Public Nombre As String
Public Ciudad As String
Public Provincia As String

Public Sub New(ByVal N As String, ByVal C As String, ByVal P As String)
Me.Nombre = N
Me.Ciudad = C
Me.Provincia = P
End Sub
End Structure

Module Module1
Sub Main()
Dim xDat1 As MisDatos = New MisDatos("Juan", "Madrid", "Madrid")
Dim xDat2 As MisDatos = New MisDatos("Ana", "Javea", "Alicante")
Dim xDat3 As MisDatos = New MisDatos("Zacarias", "Oliva", "Valencia")
Dim xDat4 As MisDatos = New MisDatos("Luis", "Muñana", "Ávila")
Dim xDat5 As MisDatos = New MisDatos("Elena", "Pinto", "Madrid")

Dim lstOrdenada As SortedList = New SortedList
lstOrdenada.Add(xDat1.Nombre, xDat1)
lstOrdenada.Add(xDat2.Nombre, xDat2)
lstOrdenada.Add(xDat3.Nombre, xDat3)
lstOrdenada.Add(xDat4.Nombre, xDat4)
lstOrdenada.Add(xDat5.Nombre, xDat5)

Dim xDatMostrar As MisDatos
xDatMostrar = CType(lstOrdenada("Elena"), MisDatos)

Console.ReadLine()
End Sub
End Module
'/////////////////////////////

Espero que te sea de utilidad.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Enrique Garcia" wrote:

Hola tengo una estructura con nombre, hora inicio y hora fin, de esa
estructura me creo un vector de 10, lo que quisiera saber es si existe por
ejemplo Pepito, 10:30, 10:50 en ese vector. podria mirar uno a uno pero no
valdria el metodo Find en tal caso como utilizarlo??

Muchas Gracias




Preguntas similares