PDF de programación - 1. Vb .Net 2005 - Arrays

Imágen de pdf 1. Vb .Net 2005 - Arrays

1. Vb .Net 2005 - Arraysgráfica de visualizaciones

Publicado el 8 de Octubre del 2019
512 visualizaciones desde el 8 de Octubre del 2019
137,8 KB
28 paginas
Creado hace 19a (01/01/2005)
1.1 Introducción.

Los arrays, siguen siendo lo que eran, estructuras de datos en memoria, y de un tipo de dato intrínseco

1. Arrays.

o de usuario.


Existe la clase Array que nos proporciona una serie de métodos para el trabajo con los mismos.

Como existe como novedad los tipos enumerados, o conjuntos de datos, podemos declarar vectores con

el contenido de esos tipos enumerados, usando los elementos como índice dentro del vector.

Pero la declaración no contempla el Option Base 1
El número de elementos siempre va de cero a dimensión, por lo que un


Dim Meses(11), es un array de doce elementos de 0 a 11.


Se puede declarar un array sin ningún elemento, declarando como dimensión –1.


Dim Vector(-1), es un array vacío.


No se puede usar ReDim, si previamente no se ha usado Dim para declarar el array.

1.2 Declaración

Hay varias formas de declarar un vector en VB.

Podemos declararlo de forma estática.
Podemos declarar e inicializar.
Podemos declarar de forma dinámica.

1.2.1 Declaración estática.

La declaración estática es la de siempre.


Dim Meses(11) as String

Meses(0) = "Enero"
Meses(1) = "Febrero"
Meses(2) = "Marzo" .. / ..


Pero si se ha de cargar dentro del programa con datos, no tiene sentido.
Si se carga después desde un archivo o por teclado, si.


1.2.2 Declaración estática inicializada.

En la nueva versión de VB podemos escribir lo siguiente:


' Declaración e inicialización del vector con los
' nombres de los meses, de tipo string
Dim Meses() As String = {"Enero", "Febrero", "Marzo", _
"Abril", "Mayo", "Junio", _
"Julio", "Agosto", "Septiembre", _
"Octubre", "Noviembre", "Diciembre"}



1.2.3 Declaración dinámica.

Para cuando la dimensión del array depende de la ejecución del programa.


Module Ejemplo
Sub Main()

Dim Valor As String
‘ Declaración e inicialización
Dim Meses() As String = {"Enero", "Febrero", "Marzo", _
"Abril", "Mayo", "Junio", _
"Julio", "Agosto", "Septiembre", _
"Octubre", "Noviembre", "Diciembre"}
‘ Declaración dinámica
Dim OtrosMeses() As String

‘ En esta línea nos dará Nothing, no hay asignación todavía
Console.WriteLine("Tipo del vector {0} ", TypeName(OtrosMeses))

‘ Asignación de dimensión
ReDim Otrosmeses(Meses.GetUpperBound(0))

‘ Aquí el resultado será String
Console.WriteLine("Tipo del vector {0} ", TypeName(OtrosMeses))

Console.WriteLine("Visualizamos el contenido ")

‘ Copia de meses sobre otros meses
Meses.CopyTo(OtrosMeses, 0)

‘ Visualización del vector
For Each Valor In OtrosMeses
Console.WriteLine(Valor)
Next

Console.WriteLine("Elementos del vector {0} ", OtrosMeses.GetLength(0))
Console.WriteLine("Primer índice {0} ", OtrosMeses.GetLowerBound(0))
Console.WriteLine("Ultimo índice {0} ", OtrosMeses.GetUpperBound(0))
Console.WriteLine("Visualizamos el contenido ")
Console.ReadLine()
End Sub
End Module



1.3 Recorrido del vector.

Para recorrer el vector podemos usar cualquiera de los dos sistemas, el de recorrerlo como una

colección.



Module Ejemplo
Sub Main()
' Declaración e inicialización del vector con los
' nombres de los meses, de tipo string
Dim Meses() As String = {"Enero", "Febrero", "Marzo", _
"Abril", "Mayo", "Junio", _
"Julio", "Agosto", "Septiembre", _
"Octubre", "Noviembre", "Diciembre"}
' Declaramos la variable del mismo tipo para poder
' recorrer el vector
Dim Valor As String

Console.WriteLine("Visualizamos el contenido")


2

' Visualizamos el vector
For Each Valor In Meses
Console.WriteLine(Valor)
Next
Console.ReadLine()
End Sub
End Module


Pero también se puede seguir haciendo lo clásico, con la función Ubound, aunque ahora también hay un

método del objeto Meses, que se llama GetUpperBound.


Y también podemos utilizar los siguientes métodos, en lugar del X=0 to 11, o to Ubound(meses)


For X=Meses.GetLowerBound(0) To Meses.GetUpperBound(0)



Module Ejemplo
Sub Main()
' Declaración e inicialización del vector con los
' nombres de los meses, de tipo string
Dim Meses() As String = {"Enero", "Febrero", "Marzo", _
"Abril", "Mayo", "Junio", _
"Julio", "Agosto", "Septiembre", _
"Octubre", "Noviembre", "Diciembre"}
Dim X As Int16
Dim Valor As String

Console.WriteLine("Visualizamos el contenido")

' Mostramos lo valores
For X = 0 To UBound(Meses)
Console.WriteLine(Meses(X).ToString)
Next

' Mostramos lo valores
For X = Meses.GetLowerBound(0) To Meses.GetUpperBound(0)
Console.WriteLine(Meses(X).ToString)
Next
Console.ReadLine()
End Sub
End Module
1.4 Clase Array

Esta clase dispone de los siguientes métodos


BinarySearch

Clear

Copy

IndexOf

CreateInstance

LastIndexOf

Reverse

Cada uno de estos métodos a su vez están sobrecargados, OverLoad, de tal forma que se pueden

Sort

utilizar con varios tipos distintos de argumentos en la utilización.



3

1.5 Clase NuestroArray

Además a esto hemos de añadir que el Vector definido por nosotros, como tal dispone de los siguientes

métodos:



BinarySearch

Clone

CopyTo

Clear

Copy

CreateInstance

GetEnumerator GetLength

GetLongLength GetLowerBound

GetType

GetValue

Initialize

Rank

GetUpperBound

IndexOf

LastIndexOf

Reverse

Sort

SetValue

Y el Vector, o Array, con el que estamos trabajando dispone también de las siguientes propiedades:


IsFixedSize

IsReadOnly

IsSynchronized

Length

LongLength

Rank

SyncRoot



1.6 Métodos de arrays.

Vamos a ver la utilidad de cada uno de los métodos existentes en cada una de las dos clases.

1.6.1 Clear

Siguiendo con el ejemplo anterior, el método Clear realiza el vaciado del contenido del vector, pero no

del número de elementos, que seguirá siendo el mismo



Module Ejemplo
Sub Main()

Dim Meses() As String = {"Enero", "Febrero", "Marzo", _
"Abril", "Mayo", "Junio", _
"Julio", "Agosto", "Septiembre", _
"Octubre", "Noviembre", "Diciembre"}

Dim Valor As String

Console.WriteLine("Visualizamos el contenido antes ")

' Visualizamos el vector
For Each Valor In Meses
Console.WriteLine(Valor)
Next
Console.WriteLine("Elementos del vector {0} ", Meses.Length)

' Vaciado del vector
Meses.Clear(Meses, 0, Meses.Length)

Console.WriteLine("Visualizamos el contenido después ")

4

Console.WriteLine("Elementos del vector {0} ", Meses.length)

' Visualizamos el vector
For Each Valor In Meses
Console.WriteLine(" [{0}]", Valor)
Next
Console.ReadLine()
End Sub
End Module



1.6.2 Clone

Este método lo que hace es generar una copia de un array ya existente.


Module Ejemplo
Sub Main()

Dim Meses() As String = {"Enero", "Febrero", "Marzo", _
"Abril", "Mayo", "Junio", _
"Julio", "Agosto", "Septiembre", _
"Octubre", "Noviembre", "Diciembre"}
Dim OtrosMeses() As String
Dim Valor As String

Console.WriteLine("Visualizamos el contenido ")
Console.WriteLine("Elementos del vector {0} ", Meses.GetUpperBound(0))
' Visualizamos el vector
For Each Valor In Meses
Console.WriteLine(Valor)
Next
' Clonamos el vector
OtrosMeses = Meses.Clone()
Console.WriteLine("Elementos vector {0} ", OtrosMeses.GetUpperBound(0))
Console.WriteLine("Visualizamos el contenido ")

' Visualizamos el vector
For Each Valor In OtrosMeses
Console.WriteLine(Valor)
Next
Console.ReadLine()
End Sub
End Module



1.6.3 ConstrainedCopy

Copia el número de elementos indicado de un array de origen a un array de destino, en la dimensión que

se indica, y del número de elementos que se indique.

Module Ejemplo
Sub Main()
Dim Meses() As String = {"Enero", "Febrero", "Marzo", _
"Abril", "Mayo", "Junio", _
"Julio", "Agosto", "Septiembre", _
"Octubre", "Noviembre", "Diciembre"}
Dim Mesesitos(3) As String
Dim Dato As String
Dim DimOrigen As Integer = 0
Dim DimDestino As Integer = 0
Dim Cuantos As Integer = 2 ' probar con 2 y 4

' Contenido vector origen



5

For Each Dato In Meses
Console.WriteLine(Dato)
Next

' Copia contenido de un vector en otro
Array.ConstrainedCopy(Meses, DimOrigen, Mesesitos, DimDestino, Cuantos)

' Contenido vector destino
Console.WriteLine("Visualizar el vector de destino")
For Each Dato In Mesesitos
Console.WriteLine("Mes de {0} ", Dato)
Next
Console.ReadLine()
End Sub
End Module



1.6.4 Copy

A diferencia de Clone, Copy hace un duplicado del vector, solo del número de elementos que se indica

en el argumento.



' Copia solo el número de elementos indicado,
‘ OtrosMeses.GetUpperBound(0) vale 5, que es el número de elementos
‘ que tiene
‘ Meses es el origen,
‘ OtrosMeses es el destino
Meses.Copy(Meses, OtrosMeses, OtrosMeses.GetUpperBound(0))
Module Ejemplo
Sub Main()
Dim Meses() As String = {"Enero", "Febrero", "Marzo", _
"Abril", "Mayo", "Junio", _
"Julio", "Ago
  • Links de descarga
http://lwp-l.com/pdf16685

Comentarios de: 1. Vb .Net 2005 - Arrays (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad