posición de un elemento, indexof. si deseamos saber la posición de un elemento, podemos utilizar...

13
Posición de un elemento, indexOf. Si deseamos saber la posición de un elemento, podemos utilizar el método indexOf. Este método nos devuelve la posición del elemento en la colección, o el valor -1 si no lo encuentra. La sintaxis es Posicion = Coleccion.IndexOf(Item) Console.WriteLine(Coleccion.IndexOf(It em))

Upload: alvaro-sebastian

Post on 28-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Presentacin de PowerPoint

Posicin de un elemento, indexOf.Si deseamos saber la posicin de un elemento, podemos utilizar el mtodo indexOf.Este mtodo nos devuelve la posicin del elemento en la coleccin, o el valor -1 si no lo encuentra. La sintaxis es Posicion = Coleccion.IndexOf(Item)Console.WriteLine(Coleccion.IndexOf(Item))

Siendo que el elemento Silla existe en la coleccin previamente a la declaracin del nuevo Item, el resultado de la salida ser 1, no encontrado, y es que aunque el valor existe en la coleccin, el item declarado en si es nuevo, y no est en la misma, aunque su valor sea coincidente, es la nica explicacin coherente basada en

Dim Dato As Datos For Each Dato In Coleccion Console.WriteLine(Dato.Nombre) Console.WriteLine(Dato.Nombre.GetHashCode) Next Item = New Datos Item.Nombre = "Silla" Console.WriteLine(Item.GetHashCode) Console.WriteLine(Coleccion.IndexOf(Item))

Si nos fijamos en el hashcode, veremos que cuando est fuera de la coleccin tiene un valor distinto que cuando est dentro, que adems es el mismo que el elemento con el mismo valor.Ambos ejemplos arrancan con la misma carga de la coleccin previa.Si este ejemplo le repetimos con datos de tipos estndar, el ejemplo sin embargo no se cumple, por qu?, porque si yo busco el 2, o la A en una coleccin de enteros o de caracteres, el dos o est o no, pero porque es el nmero dos no es un objeto nuevo en una coleccin que contiene la misma informacin que otro elemento de la coleccin.El dos o la A, pertenecen a la coleccin de los nmeros enteros o de caracteres, ya de antemano, y existen o no en nuestra coleccin.

Insercin, insert, insertRange.Inserta el elemento especificado en la posicin indicada. Item.Nombre = "Tres" Item.Longitud = 3 Coleccion.Insert(2, Item) En el ejemplo se inserta el item indicado en la coleccin en la posicin dos, la posicin ha de existir en la coleccin, y su contenido se sustituye por el nuevo. Valor inicial de la coleccin Valor final de la coleccin despus de la insercin. 1 Uno 1 Uno2 Dos 2 Tres El valor de la segunda posicin se sustituye por el nuevo valor.El mtodo insertRange inserta los elementos indicados a partir de la posicin indicada.

Dim Otra As New System.Collections.Generic.List(Of Datos) Item = New Datos() Item.Nombre = "Tres" Item.Longitud = 21 Otra.Add(Item) Item = New Datos() Item.Nombre = "Cuatro" Item.Longitud = 42 Otra.Add(Item) Coleccion.InsertRange(2, Otra) Valor inicial de la coleccin Valor final de la coleccin despus de la insercin. 1 Uno 1 Uno2 Dos 2 Dos3 Tres 4 Cuatro

Copiado de la coleccin, CopyTo, ToArray.El mtodo CopyTo nos permite obtener un array del contenido de la coleccin.El mtodo ToArray tambin, cambia la sintaxis, por ser una funcin.La sintaxis para la declaracin del vector V, puede ser as: Dim V(Coleccion.Count - 1) As Datos es Coleccion.CopyTo(V)V = Coleccion.ToArray() La utilizacin puede ser: Dim V(Coleccion.Count - 1) As Datos Coleccion.CopyTo(V) For Each Dato In V Console.WriteLine("Valor {0} ", Dato.Nombre) Console.WriteLine("HashCode {0} ", Dato.Nombre.GetHashCode) Next Dim V(Coleccion.Count - 1) As Datos

Clone.Realiza una copia superficial de una coleccin, slo copia los elementos de dicha coleccin, tanto si son tipos de referencia como si son tipos de valor, pero no copia los objetos a los que hacen referencia las referencias.Las referencias de la nueva coleccin apuntan a los mismos objetos que las referencias de la coleccin original.La sintaxis para utilizar el mtodo Clone es:Otra = CType(Coleccion.Clone(), SortedList) Ctype es para permitir el cambio de una coleccin a otra. Y la clonacin se realiza en realidad as: Coleccion.Clone()

Un ejemplo completo para el uso de Clone. Dim Coleccion As New System.Collections.SortedList Dim Otra As New System.Collections.SortedList Coleccion.Add(1, "Silla") Coleccion.Add(2, "Mesa") Coleccion.Add(3, "Puerta") For x = 0 To Coleccion.Count - 1 Console.WriteLine(" Clave {0} Valor {1} ", _ Coleccion.GetKey(x), Coleccion.GetByIndex(x)) Next Otra = CType(Coleccion.Clone(), SortedList) For x = 0 To Otra.Count - 1 Console.WriteLine(" Clave {0} Valor {1} ", Otra.GetKey(x), Otra.GetByIndex(x)) Next

Comparar, Contains, ContainsKey, ContainsValue.Podemos comprobar si determinada informacin existe o no en una coleccin.El mtodo que lo realiza es contains, que devuelve true o false.La sintaxis del mismo es Coleccin .Contains(Item)) Siendo Item Item = New Datos Item.Nombre = "Silla" Y su utilizacin por ejemplo: Console.WriteLine("Contains {0} ", Coleccion.Contains(Item)) Donde Silla es el dato que deseamos comprobar, pero recordemos que no buscamos Silla, si no un elemento en esa coleccin, que est representado por Item, y que es este caso contiene SillaEn las colecciones en las que se dispone de clave y valor el uso es el que sigue. Console .Write Line(Coleccion. ContainsValue( "Silla")) Console. WriteLine(Coleccin .ContainsKey( "2"))

JOSE FELIPE BARRIGA ORTIZCBTA 108 VILLA JUAREZMODULO III ING.CESAR GUILLERMO RODRIGUEZnull223047.42