• Domingo 22 de Diciembre de 2024, 09:11

Autor Tema:  Busqueda en colecciones  (Leído 909 veces)

luisferbaq

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Busqueda en colecciones
« en: Martes 27 de Abril de 2010, 19:56 »
0
Buenos dias a todos,

Tengo una consulta ojala me puedan orientar, estoy leyendo un archivo binario y almacenando la información en una estructura de datos:

Código: C#
  1. public class CreaList
  2. {
  3.     private int    _Id1
  4.     private int    _Id2;
  5.     private string _Descrip;
  6.  
  7.     public int Id1
  8.    {
  9.         get { return _Id1; }
  10.         set { _Id1 = value; }
  11.     }
  12.            
  13.     public int Id2
  14.     {
  15.         get { return _Id2; }
  16.         set { _Id2 = value; }
  17.     }
  18.  
  19.     public string Descrip
  20.     {
  21.         get { return _Descrip; }
  22.         set { _Descrip = value; }
  23.     }
  24.  
  25. }
  26.  

agrego los datos así:

Código: C#
  1. MiLista.Add(new CreaList{Id1 = int1, Id2 = int2,  Descrip = Descrip});
  2.  

Para almacenar los datos no tengo problema, salvo lo este haciendo mal y uds. me recomienden otra forma, el asunto es en la busqueda, como pueden notar necesito buscar por 2 claves, Id1+Id2, hay alguna manera de crear un indice para acceder directamente al registro sin tener que recorrer toda la colección?.

Tambien he usado el datatable y funciona bien aunque consume mas memoria, pero queria saber si es posible hacerlo con el arraylist.

Agradesco cualquier colaboración.

Saludos,

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: Busqueda en colecciones
« Respuesta #1 en: Martes 27 de Abril de 2010, 20:10 »
0
Algo como esto con LINQ...
Código: C#
  1.  
  2. var consulta=from Elemento in TULISTA where Elemento.id1==Valor1 and Elemento.id2==Valor2 select Elemento;
  3.  
  4. //para recorrer los resultados
  5. foreach(CrearList Elemento in consulta)
  6. {
  7.         //Aqui el codigo que desees con el elemento actual
  8. }
  9.  
Nuestro poder está creciendo mas rápido que nuestra sabiduria