miércoles, 20 de mayo de 2009

Listas genéricas: System.Collections.Generic.List<>

Esta clase existe desde la versión 2.0 de .NET Framework osea que son algo viejitas pero he notado que no las usan, pero son realmente maravillosas, las adoro, son lo maximo. Estoy enamorado de ellas.
MSDN:
Representa una lista de objetos con establecimiento inflexible de tipos a la que se puede obtener acceso por índice. Proporciona métodos para buscar, ordenar y manipular listas.
Espacio de nombres(namespace): System.Collections.Generic
Ensamblado: mscorlib (en mscorlib.dll)

Permite hacer istas de cualquier cosa, desde un listado de strings hasta un listado de la clase más compleja que tengan, adicionalmente posee funciones muy útiles como buscar un índice, ordenar,comparar, etc.

Ejemplo practico de una lista:
Definición:
public class tabla{
private string _col1;
private string _col2;
private string _col3;
private string _col4;
public tabla(string col1, string col2, string col3, string col4)
{
_col1 = col1;
_col2 = col2;
_col3 = col3;
_col4 = col4;
}
public string col1 { get { return _col1; } set { _col1 = value; } }
public string col2 { get { return _col2; } set { _col2= value; } }
public string col3 { get { return _col3; } set { _col3 = value; } }
public string col4 { get { return _col4; } set { _col4 = value; } }
}
como se llena la lista(cliente):
List < tabla > enc = new List < tabla >();
enc.Add(new tabla("Status:", lblestatusactual.Text, "Fecha:", lblfecha.Text));
enc.Add(new tabla("Departamento:", lbldepartamento.Text, "Paso:", lblpaso.Text)); enc.Add(new tabla("Trámite:", lbltramite.Text, "", ""));
enc.Add(new tabla("Solicitud:", lblsolicitud.Text, "", ""));

como leer la lista:
for (int x = 0; x < enc.Count; x++)
{
string uno=enc[x].col1;
}
o al lugar de leerlo mejor a un grid:
private void arreglaDatos(List tablaresultados)
{
GridView1.DataSource = tablaresultados;
}

Adicionalmente tiene funciones de busqueda y ordenación aquí les copio la informacion que tiene msdn, sobre las propiedades y métodos que poseen.
http://msdn.microsoft.com/es-es/library/d9hw1as6(VS.80).aspx

Propiedades públicas
Capacity Obtiene o establece el número total de elementos que puede contener la estructura de datos interna sin cambiar el tamaño.
Count Obtiene el número de elementos contenido realmente en List. Item Obtiene o establece el elemento que se encuentra en el índice especificado.

Métodos
Add Agrega un objeto al final de List.
AddRange Agrega los elementos de la colección especificada al final de List.
AsReadOnly Devuelve un contenedor de IList de sólo lectura para la colección actual. BinarySearch Sobrecargado. Utiliza un algoritmo de búsqueda binaria para localizar un elemento concreto en la List ordenada o en una parte de ella.
Clear Quita todos los elementos de List. Contains Determina si un elemento se encuentra en List. ConvertAll Convierte en otro tipo los elementos incluidos en el objeto List actual y devuelve una lista que contiene los elementos convertidos.
CopyTo Sobrecargado. Copia el objeto List o una parte del mismo en una matriz.
Equals Sobrecargado. Determina si dos instancias de Object son iguales. (Se hereda de Object).
Exists Determina si List contiene elementos que cumplen las condiciones definidas por el predicado especificado.
Find Busca un elemento que cumpla las condiciones definidas por el predicado especificado y devuelve la primera aparición en todo el objeto List.
FindAll Recupera todos los elementos que cumplen las condiciones definidas por el predicado especificado.
FindIndex Sobrecargado. Busca un elemento que cumpla las condiciones definidas por un predicado especificado y devuelve el índice de base cero de la primera aparición en el objeto List o en una parte de él.
FindLast Busca un elemento que coincida con las condiciones definidas por el predicado especificado y devuelve la última aparición en todo el objeto List.
FindLastIndex Sobrecargado. Busca un elemento que cumpla las condiciones definidas por un predicado especificado y devuelve el índice de base cero de la última aparición en el objeto List o en una parte de él.
ForEach Realiza la acción especificada en cada elemento de List.
GetEnumerator Devuelve un enumerador que recorre en iteración la colección List. GetHashCode Sirve como función hash para un tipo concreto. GetHashCode es apropiado para su utilización en algoritmos de hash y en estructuras de datos como las tablas hash. (Se hereda de Object).
GetRange Crea una copia superficial de un intervalo de elementos en el objeto List de origen.
GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object). IndexOf Sobrecargado. Devuelve el índice de base cero de la primera aparición de un valor en la List o en una parte de ella.
Insert Inserta un elemento en List, en el índice especificado. InsertRange Inserta los elementos de una colección en List en el índice especificado. LastIndexOf Sobrecargado. Devuelve el índice de base cero de la última aparición de un valor en la List o en una parte de ella.
ReferenceEquals Determina si las instancias de Object especificadas son la misma instancia. (Se hereda de Object). Remove Quita la primera aparición de un objeto específico de List.
RemoveAll Quita todos los elementos que cumplen las condiciones definidas por el predicado especificado.
RemoveAt Quita el elemento en el índice especificado de List.
RemoveRange Quita todos los elementos de List.
Reverse Sobrecargado. Invierte el orden de los elementos en la List o en una parte de ella. Sort Sobrecargado. Ordena los elementos en la List o en una parte de ella.
ToArray Copia los elementos de List en una nueva matriz.
ToString Devuelve una clase String que representa la clase Object actual. (Se hereda de Object

No hay comentarios.: