Buscar con BinarySearch o IndexOf

30/03/2005 - 17:55 por Jaimito | Informe spam
Hola compañeros...

Tengo un arreglo de una clase Libro, así:

// Esta es la clase Libro
public class Libro
private int _Id;
private string _Nombre;

public int Id
{
//
// implementación
//
}

public string Nombre
{
//
// implementación
//
}
End Class

// este es el arreglo
Libro[] _Libros;

Como se pueden dar cuenta la clase libro contiene dos propiedades: Id y
Nombre.

Ahora, existen dos métodos de la clase System.Array: BinarySearch, IndexOf;
que permiten buscar en un arreglo. El problema radica en que no sé cómo
buscar en el arreglo de Libros aquellos cuyo Nombre corresponda con cierta
cadena.

¿Es posible?

Gracias...
 

Leer las respuestas

#1 A.Poblacion
30/03/2005 - 22:39 | Informe spam
"Jaimito" wrote in message
news:
Hola compañeros...

Tengo un arreglo de una clase Libro, así:

// Esta es la clase Libro
public class Libro
private int _Id;
private string _Nombre;

public int Id
{
//
// implementación
//
}

public string Nombre
{
//
// implementación
//
}
End Class

// este es el arreglo
Libro[] _Libros;

Como se pueden dar cuenta la clase libro contiene dos propiedades: Id y
Nombre.

Ahora, existen dos métodos de la clase System.Array: BinarySearch,


IndexOf;
que permiten buscar en un arreglo. El problema radica en que no sé cómo
buscar en el arreglo de Libros aquellos cuyo Nombre corresponda con cierta
cadena.



En tu clase Libro tienes que implementar el interface IComparable si
quieres usar BinarySearch. Tu método Compare es el que devolverá un
resultado basado en Nombre si quieres buscar por nombre.
Si quieres usar IndexOf, lo que tienes que hacer en tu clase Libro es un
override del método Equals, en el que indicarás que dos libros son iguales
si tienen el mismo Nombre.

Preguntas similares