Visual basic.net

Solo disponible en BuenasTareas
  • Páginas : 5 (1001 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de noviembre de 2010
Leer documento completo
Vista previa del texto
Diseño Basado en Componentes Curso 2008 / 09

Diseño Basado en Componentes Curso 2008 / 09

Colecciones en VB.NET Diseño Basado en Componentes
Especialización de los arrays (optimizado o especializado para ciertas tareas). Objeto que internamente gestiona un array de una manera un tanto especial. Clases significativas (colecciones) del espacio de nombres System.Collections (no es necesarioimportarlo, pues se incluye por defecto en el IDE):


Colecciones en VB.NET
Ingeniería Informática Universidad Carlos III de Madrid
Diseño Basado en Componentes Curso 2008 / 09



ArrayList: proporciona una colección cuyo array es redimensionado dinámicamente. Hashtable: proporciona una colección cuyo array contiene elementos que se basan en una combinación de clave-valor, facilitando elacceso al realizarse mediante la clave.

Diseño Basado en Componentes Curso 2008 / 09

Diseño Basado en Componentes Curso 2008 / 09

Colecciones en VB.NET
Interfaces
Las clases integrantes de System.Collections implementan en mayor o menor grado, un conjunto común de interfaces:
– – – –

Colecciones en VB.NET
ArrayList (I)
Instanciación de objetos ArrayList:
' Crear una lista sinelementos Dim alEstaciones As New ArrayList() ' Crear una lista indicando el número de elementos, ' pero sin darles valor Dim alDatos As New ArrayList(3) ' Crear una lista utilizando una colección dinámica Dim alLetras As New ArrayList(New String() {"a", "b", "c"})

IEnumerable: proporciona el soporte para recorrer colecciones de valores. ICollection: permite manipular el tamaño, gestionarenumeradores, etc., de listas de valores. IList: referencia a una lista de valores que puede ordenarse. ICloneable: permite la creación de copias exactas e independientes de objetos.

Capacidad y valores en una colección ArrayList:
– –

Para crear nuestro propio tipo de colección habría que heredar una clase colección existente y/o la implementación de alguna de las interfaces de System.Collections.Propiedad Capacity: número de elementos del array subyacente que contiene este objeto. Propiedad Count: número de elementos del array a los que se ha asignado valor a través de los métodos Add(Value) o AddRange(Collection).

1

Diseño Basado en Componentes Curso 2008 / 09

Diseño Basado en Componentes Curso 2008 / 09

Diseño Basado en Componentes Curso 2008 / 09

Colecciones enVB.NET
ArrayList (II) Agregar valores a un ArrayList:
– –

Colecciones en VB.NET
ArrayList (III)
Formas de recorrer y obtener valores de un ArrayList: – Bucle For…Next y la propiedad Count del objeto ArrayList.
Dim alLetras As ArrayList() … Dim iContador As Integer For iContador = 0 To (alLetras.Count - 1) Console.WriteLine("Elemento actual {0}, valor: {1}", _ iContador, alLetras(iContador))Next


Add(Value): añade el valor representado por Value. Insert(Position, Value): inserta el valor Value en la posición Position del array, desplazando el resto de valores una posición adelante. Remove(Value): elimina el elemento del array que corresponde a Value. RemoveAt(Position): elimina el elemento del array situado en el índice Position. Clear(): elimina todos los elementos del objetoArrayList.

Borrado de elementos en un ArrayList:
– – –

Recorrer el array con un enumerador: objeto de la interfaz IEnumerator, proporcionado por el método GetEnumerator().
Dim alLetras As ArrayList() … Dim enumerador As IEnumerator enumerador = alLetras.GetEnumerator() While enumerador.MoveNext() Console.WriteLine("Elemento de la lista: {0}", enumerador.Current()) End While

Diseño Basadoen Componentes Curso 2008 / 09

Diseño Basado en Componentes Curso 2008 / 09

Colecciones en VB.NET
Hashtable (I)
El acceso a los valores del array se realiza a través de una clave asociada a cada elemento. Un objeto Hashtable ofrece la ventaja de no tener que saber la posición en la que se encuentra cada valor: cada posición tiene asignado un nombre clave.
' Declarar colección Hashtable...
tracking img