Variables y arreglos en .Net

20
VARIABLES Y ARREGLOS CLASES Y MÓDULOS Son tipos de referencia que buscan encapsular los elementos definidos en ellos, como por ejemplo: constantes, variables funciones y procedimientos (para módulos) o atributos y métodos (para clases). Básicamente los módulos y/o clases nos servirán para declaraciones generales y para tener una librería de código con funcionalidad e uso frecuente desde diferentes formularios u otros elementos para todo el proyecto. Existen diferencias considerables entre uno y otro, pero básicamente se difieren en la forma en que se realiza el acceso a los elementos desde otros procedimientos. CLASE Sólo se puede utilizar Class en el nivel de espacio de nombres o de módulo. Esto significa que el contexto de declaración para una clase debe de ser un archivo de código fuente, espacio de nombres, clase, estructura, módulo o interfaz, y no puede ser procedimiento o bloque. Cada instancia de una clase tiene un periodo de duración independiente de todas las demás instancias. Es decir, cada objeto es independiente a pesar de que provengan de la misma clase; cada uno tiene sus propias propiedades e invoca a sus métodos independientemente, así como su tiempo de vida es propio. Una instrucción Class define un nuevo tipo de datos. Una clase es una unidad de creación fundamental de la Programación Orientada a Objetos. PROGRAMACIÓN ORIENTADA A OBJETOS La Programación Orientada a Objetos (POO) es una manera de abstraer la realidad y programar empleando un enfoque en el que la realidad se entiende basada en que los elementos que nos rodean son objetos. Es decir, que cuentan con atributos propios y que tienen un comportamiento según su naturaleza, y que pueden ser agrupados en clases por su similitud. - Clase. Conjunto de elementos con características similares o comunes. Se emplea la palabra class para declararla y se incluyen propiedades y métodos para los objetos que se generaran a partir de ella (Instancias). - Propiedades. Característica o atributo del objeto. Para ello debe ser declarada en la clase, tal como se hace con las variables.

description

Variables y arreglos en Visual Basic .Net con ejemplos aplicativos

Transcript of Variables y arreglos en .Net

Page 1: Variables y arreglos en .Net

VARIABLES Y ARREGLOS

CLASES Y MÓDULOS

Son tipos de referencia que buscan encapsular los elementos definidos en ellos, como por ejemplo: constantes, variables funciones y procedimientos (para módulos) o atributos y métodos (para clases).

Básicamente los módulos y/o clases nos servirán para declaraciones generales y para tener una librería de código con funcionalidad e uso frecuente desde diferentes formularios u otros elementos para todo el proyecto. Existen diferencias considerables entre uno y otro, pero básicamente se difieren en la forma en que se realiza el acceso a los elementos desde otros procedimientos.

CLASE

Sólo se puede utilizar Class en el nivel de espacio de nombres o de módulo. Esto significa que el contexto de declaración para una clase debe de ser un archivo de código fuente, espacio de nombres, clase, estructura, módulo o interfaz, y no puede ser procedimiento o bloque.

Cada instancia de una clase tiene un periodo de duración independiente de todas las demás instancias. Es decir, cada objeto es independiente a pesar de que provengan de la misma clase; cada uno tiene sus propias propiedades e invoca a sus métodos independientemente, así como su tiempo de vida es propio.

Una instrucción Class define un nuevo tipo de datos. Una clase es una unidad de creación fundamental de la Programación Orientada a Objetos.

PROGRAMACIÓN ORIENTADA A OBJETOS

La Programación Orientada a Objetos (POO) es una manera de abstraer la realidad y programar empleando un enfoque en el que la realidad se entiende basada en que los elementos que nos rodean son objetos. Es decir, que cuentan con atributos propios y que tienen un comportamiento según su naturaleza, y que pueden ser agrupados en clases por su similitud.

- Clase. Conjunto de elementos con características similares o comunes. Se emplea la palabra class para declararla y se incluyen propiedades y métodos para los objetos que se generaran a partir de ella (Instancias).

- Propiedades. Característica o atributo del objeto. Para ello debe ser declarada en la clase, tal como se hace con las variables.

Page 2: Variables y arreglos en .Net

- Método. Realiza alguna operación con las propiedades del objeto. Deben ser declaradas en la clase como funciones y procedimientos, y describen el comportamiento de los objetos que serán instanciados.

- Constructor. Es un método especial de una clase que permite inicializar valores de los atributos del objeto que se están instanciando a partir de esta. Se llama al constructor cuando usamos en la declaración de nuevos objetos (instancia) la palabra new. Ejemplo: Clase persona

Persona

- edad - nombre - dni

}Atributos

+ comer + caminar + respirar

}Métodos

- Objeto. Es una instancia de una clase, es decir, es un elemento particular de eta, que cuenta con atributos propios y comportamientos según métodos.

- Evento. Característica que permite que el objeto responda a una determinada acción y ejecute un código asociado a un método o procedimiento.

- Encapsulamiento. Define el nivel de acceso. Dentro de una clase, se puede declarar cada miembro con su propio nivel de acceso. De forma predeterminada, los miembros de la clase tienen acceso al Public y las variables y constantes tienen acceso al Private. Tenemos acceso también al Protected (protegido: privado en el uso y públicos en la herencia) y Friend (amigo: público para elementos fuera del clase),

- Polimorfismo. Permite que los objetos reaccionen de manera diferente ante mensajes diferentes. Los mensajes serán atendidos como parámetros que son entregados a los métodos de los objetos que permiten un comportamiento diferente.

- Sobre carga de métodos, procedimientos y /o funciones. Es cuando dos o más métodos de una clase tienen el mismo nombre y se diferencian por los argumentos que reciben, y la funcionalidad que permiten. Esto permite que empleando un mimo método, según el mensaje, podamos realizar tareas distintas en las propiedades del objeto.

Page 3: Variables y arreglos en .Net

- Herencia. Permite tomar características de una clase padre o base y re utilizarlas en una nueva clase. Se emplea en casos donde una clase es muy similar a otra, entonces se hereda y se hacen las modificaciones en la clase hijo.

Ejemplo: Herencia de la clase persona.

Agregar una clase al proyecto

persona

- edad - nombre - dni

+ comer + caminar + respirar

funcionario

- cargo

+funcionario

estudiante

- notas - horario

+ estudio + clases

Profesor

- salario

+ profesor + materias

Page 4: Variables y arreglos en .Net

Módulo (Module)

Module declara el nombre de un módulo e introduce la definición de las variables, propiedades, eventos y procedimientos que incluye el módulo.

Define un tipo de referencia disponible en su espacio de nombres. Un módulo también llamado módulo estándar, es similar a una clase pero con algunas distinciones importantes. Cada módulo tiene exactamente una instancia y no necesita ni ser creado ni asignado a una variable. No admiten la herencia ni permiten interfaces.

Sólo se puede usar en el nivel de espacio de nombre, siendo este un archivo de código fuente o espacio de nombres. No puede anidar un módulo dentro de otro módulo ni dentro de cualquier tipo.

Tiene el mismo periodo de duración que el programa.

Page 5: Variables y arreglos en .Net

El acceso es de tipo Friend. Pudiendo ajustar sus nivele de acceso con los modificadores de acceso.

Tiene sus elementos compartidos para el proyecto, por lo que es ideal para emplearlo como librería de funciones y procedimientos y, para la declaración de variables publicas.

Agregar un módulo al Proyecto

Page 6: Variables y arreglos en .Net

Diferencia entre clases y módulos

La diferencia principal entre clases y módulos consiste en que pueden crearse instancias de clases como objetos pero no de módulos. Como sólo existe una copia de los datos de un módulo estándar, cuando una parte del programa cambia una variable pública en un módulo estándar, cualquier otra parte del programa obtendrá el mismo valor si lee luego esa variable. En comparación, los datos de objetos existen individualmente para cada objeto con instancias.

Crear una aplicación empleando un módulo

Crear una aplicación para el conteo de personas: adultos, jóvenes y niños que ingresan a un centro comercial.

Form1

Form2

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

A = 0

Page 7: Variables y arreglos en .Net

J = 0

N = 0

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

A += 1

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click

J += 1

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button3.Click

N += 1

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button4.Click

Form2.ShowDialog()

End Sub

End Class

Public Class Form2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

TextBox1.Text = A.tostring

TextBox2.Text = J.tostring

TextBox3.Text = N.tostring

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

Me.Close()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click

A = 0

J = 0

N = 0

TextBox1.Text = A.tostring

TextBox2.Text = J.tostring

TextBox3.Text = N.tostring

End Sub

End Class

Module Module1

Public A, J, N As Integer

End Module

Page 8: Variables y arreglos en .Net

Ámbito de variables y objetos

El ámbito de un elemento declarado es el conjunto de todo el código que puede hacer referencia a él sin calificar su nombre como disponible mediante Imports.

Nivel de Ámbito Descripción

De bloque Ámbito disponible únicamente en el bloque de código en el que se ha declarado.

De Procedimiento Ámbito disponible para todo el código dentro del procedimiento en el que se ha declarado.

De Módulo Ámbito disponible para todo el código dentro del módulo, clase o estructura en el que se ha declarado.

De Espacio de Nombres

Disponible para todo el código dentro del espacio de nombres en el que se ha declarado.

Estos niveles de ámbito progresan desde el más restringido (bloque) al más amplio (espacio de nombres), donde el ámbito más restringido significa el conjunto de código más pequeño que pueda hacer referencia al elemento sin calificación.

Especificar ámbito

Se especifica al declararlo y puede depender de los factores siguientes:

La región (bloque, procedimiento, módulo, clase o estructura) donde se declara el elemento.

El espacio de nombres que contiene la declaración del elemento.

El nivel de acceso que se declara para el elemento.

Al definir dos variables con el mismo nombre en ámbitos diferentes, la variable declarada más local es la que se refiere.

Page 9: Variables y arreglos en .Net

Niveles de Ámbito.

1. Ámbito de bloque. Un bloque es un conjunto de instrucciones de declaración de inicio y fin. Ejemplo: Do y Loop, For y Next, If y End If, Select y End Select,Try y End Try, While y End While y With y End With.

Si se declara una variable dentro de un bloque, sólo puede utilizarla dentro de ese bloque. Ejemplo:

2. Ámbito de procedimiento. Un elemento declarado en un procedimiento no está disponible fuera de él. Solo el procedimiento hace uso de él. También denominadas Variables Locales. Se declaran con la instrucción Dim (Variable Dinámica), con o sin la palabra clave Static (Variable Estática).

Si se declara una variable dentro de un procedimiento, pero fuera de un bloque dentro del procedimiento, puede considerarse que la variable tiene ámbito de bloque, donde el bloque es el procedimiento completo.

Todos los elementos locales, aunque son Static, son privados para el procedimiento en el que aparecen. No se puede declarar un elemento mediante la palabra clave Public dentro de un procedimiento.

3. Ámbito de Módulo. Se aplica por igual a módulos, clases estructuras. Puede declarar elementos a este nivel si se sitúa la instrucción de declaración fuera de cualquier procedimiento o bloque pero dentro del módulo.

Cuando se incluye una declaración en el nivel del módulo, el nivel de acceso selecciona determina el ámbito. El espacio de nombres que contiene el módulo, la clase o la estructura también afecta al ámbito.

Los elementos para los que se declara el nivel de acceso Private están disponibles para todos los procedimientos del módulo, pero no para el código de otros módulos. La instrucción Dim en el nivel de módulo toma Private como valor predeterminado sino utiliza ninguna palabra nivel de acceso. No obstante, el

Page 10: Variables y arreglos en .Net

ámbito y el nivel de acceso sea más apropiado si se utiliza la palabra clave Private en lugar de la instrucción Dim.

4. Ámbito de Espacios de Nombres. Si se declara un elemento en el nivel de módulo mediante las palabras clave Friend o Public, dicho elemento quedará disponible para todos los procedimientos del espacio de nombres en los que se declare.

Incluye espacios de nombres anidados. Un elementos también estará disponible en cualquier espacio de nombres anidado en su interior.

Crear una aplicación empleando diferentes ámbitos

Public Class Form1

Public B As Integer

'Ámbito local

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

Dim C As Integer

' Ámbito de Procedimiento

C = 1

B = 2

A = 3

While A < 100

Dim D As Integer

'Ámbito de Bloque

D = A * B * C

A = D

End While

Page 11: Variables y arreglos en .Net

Form2.ShowDialog()

End Sub

End Class

Public Class Form2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

TextBox1.Text = A

End Sub

End Class

Module Module1

Public A As Integer

' Ámbito de módulo

End Module

ARREGLOS

Los arreglos o arrays son conjunto de variables del mismo tipo y con el mismo nombre, que se pueden manejar juntas o individualmente, de allí su ventaja frente a variables independientes.

Los arreglos toman un índice por cada dimensión para diferenciarse de cada elemento. Se pueden tener arreglos desde una dimensión hasta un máximo de 32 dimensiones.

Arreglos vectoriales

Son los que se emplean con mayor frecuencia. Se les llama unidimensionales o vectores. Su dimensión es uno, es decir, emplean sólo índice.

Para declarar un vector:

Dim x(3) As Integer

Arreglos Multidimensionales

Page 12: Variables y arreglos en .Net

Los arreglos multidimensionales son también conocidos como matrices, y son arreglos de más de una dimensión (2 ó más), a diferencia de los vectores. Podemos imaginar una matriz bidimensional (2 dimensiones), como una cuadricula con filas y columnas (tabla), donde las filas representarían las coordenadas “x” y las columnas las coordenadas “y”.

A matriz de tres dimensiones se les puede imaginar con las coordenadas x, y, z siendo ideal para representar figuras en el espacio como un cubo.

Podemos tener matrices de hasta 32 dimensiones. Estas se declaran en el código de manera igual que los vectores, con la diferencia de que se debe de aumentar el número de dimensiones:

Dim x(1,2) As Integer

DECLARACIÓN, ASIGNACIÓN Y LECTURA E ELEMENTOS

Declaración de arreglos

La declaración es la separación dele espacio que se requiere en la memoria RAM para guardar datos, según el tipo elegido, considerando la cantidad de dimensiones que tendrá el arreglo.

Los arreglos respetan los mismos ámbitos que las variables, siendo posible emplear para la declaración de las mismas el alcance: Public, Private, Friend y Protected, incluso como propiedades de clase.

La asignación de arreglos se realiza empleando la sintaxis en .Net:

<Alcance> NombreArreglo(D1,D2,D3,…,Dn ) As TipoDato

Ejemplos

Public vector(10) As Integer

Private doble(1,2) As Simgle

Dim triple(1,2,3) As String

Static cuatro(1,2,3,4) As Boolean

Asignación de Valores al arreglo

La asignación de arreglos se realiza empleando la siguiente sintaxis en .Net:

NombreArreglo(D1,D2,D3,…,Dn )=Valor

Ejemplos:

vector(10)=10

Page 13: Variables y arreglos en .Net

doble(1,2) =2.5

triple(1,2,3) = “Ejemplo”

cuatro(1,2,3,4) = True

Es muy usual usar sentencias for to next, para poder manejar por extensión los valores asignados al arreglo.

Ejemplo: Todos los valores del arreglo vectorial en cinco.

For i = 0 To 5

vectorial(i) = 5

Next

Ejemplo: Todos los valores del arreglo en cinco.

For i = 0 To 5

For i = 0 To 5

dos(i,j) = 5

Next

Next

Ejemplo: Los valores del arreglo “Verde” si la tercera dimensión es par, “Rojo” si la segunda dimensión es par, el resto de valores del arreglo es “Blanco”.

Dim i, j, k As Integer

Dim tres(5, 5, 5) As String

For i = 0 To 5

For j = 0 To 5

For k = 0 To 5

If (k Mod 2) = 0 Then

tres(i, j, k) = "Verde"

Else

If (j Mod 2) = 0 Then

tres(i, j, k) = "Rojo"

Else

tres(i, j, k) = "Blanco"

End If

End If

Next

Next

Next

Ejemplo: Los valores del arreglo en True, si la primera dimensión es mayor a la segunda dimensión o, si la tercera dimensión es mayor que la cuarta dimensión.

Dim i, j, k, l As Integer

Dim cuatro(5, 5, 5, 5) As String

For i = 0 To 5

For j = 0 To 5

For k = 0 To 5

For l = 0 To 5

cuatro(i, j, k, l) = (i > j Or k > l)

Page 14: Variables y arreglos en .Net

Next

Next

Next

Next

Lectura e elementos del arreglo

La lectura del contenido de un arreglo se realiza cuando se requiere saber el valor de todo el arreglo en general o de un dato específico, esta operación es inversa a la asignación.

<Porpiedad, Variable o Argumento>= Arreglo(D1,D2,D3,…,Dn)

Ejemplo:

uno = vector(10) = 10

dos = doble(1, 1)

tres = triple(1, 2, 1)

tetra = cuatro(4, 3, 2, 1)

Para llevar el contenido de un arreglo a una lista:

For i = 0 To 5

ListBox1.Items.Add(uno(i))

Next

Mostrar los datos de una matriz en cuadro de mensaje

Dim i, j, dos(5, 5) As Integer

Dim cadena As String

cadena = ""

For i = 0 To 5

For j = 0 To 5

cadena &= dos(i, j).ToString & Chr(9)

'Agrega el valor del arreglo y un TAB

Next

Next

cadena &= Chr(13)

'Agrega ENTER al final de la cadena

MsgBox(cadena)

Crear una aplicación empleando arreglos unidimensionales

Crear una aplicación para generar una “n” cantidad de términos de una serie que permita la suma de los dos términos anteriores.

1, 2, 3, 5, 8, 13, 21, 34, 55, 89,…

Parar esto crear la siguiente interface con el segundo TextBox con la propiedad Multiline en True.

Page 15: Variables y arreglos en .Net

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

Dim s(100) As Integer

Dim i, n As Integer

Dim serie As String

serie = ""

'Cambiamos el contenido del TextBox1 a entero

n = CType(TextBox1.Text, Integer)

'Asignamos el valor de las dos primeras variables

s(0) = 0

s(1) = 1

'Asignamos el valor de cada de las variables

'Asumiendo que el valor de una

'es la suma de las dos anteriores

For i = 2 To (n + 1)

s(i) = s(i - 1) + s(i - 2)

Next

'Guardamos el valor de la serie como cadena en la variable

For i = 2 To n

serie &= s(i).ToString & " , "

Next

serie &= s(n + 1) & "."

'Mostramos la serie en el TextBox2

TextBox2.Text = serie

End Sub

Page 16: Variables y arreglos en .Net

Crear una aplicación empleando arreglos multidimensionales

Crear una aplicación que permita realizar un juego de Tres en Raya para 2 personas. Considerar el tablero como una matriz de dos dimensiones.

En el GroupBox colocar nueve TextBox en orden en modo sólo lectura (ReadOnly = True) además cambiar la fuente a tamaño veinte y alineación central del texto.

Public Class Form1

'Definimos un arreglo como un conjunto de variables declarados como

caracteres

Dim M(2, 2) As Char

'Daclaramos la variable gano como booleana

'solo puede tener dos valores verdadero o falso

Dim gano As Boolean

'Creamos la función Marcar el cual agrupará todas las cajas de texto

como un arreglo de controles

Private Sub marcar(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles TextBox1.Click, TextBox2.Click, TextBox3.Click,

TextBox4.Click, TextBox5.Click, TextBox6.Click, TextBox7.Click,

TextBox8.Click, TextBox9.Click

'Declaramos la variable C como un Objeto en este caso una caja de

texto

Dim C As TextBox

'Declaramos las variables a usar en la función

Dim x, i As Integer

Static turno As Boolean

C = sender

If (C.Text.Length > 0) Or gano Then

Exit Sub

End If

turno = Not turno

Page 17: Variables y arreglos en .Net

If turno Then

Label1.Text = "Turno de O"

C.Text = "X"

Else

Label1.Text = "Turno de X"

C.Text = "O"

End If

x = Me.GroupBox1.Controls.IndexOf(sender)

M(Int(x / 3), (x Mod 3)) = C.Text

For i = 0 To 2

If (M(i, 0) = M(i, 1) And M(i, 1) = M(i, 2)) Then

'Línea Horizontal

MsgBox("Ganó " & M(i, 1), MsgBoxStyle.Information +

MsgBoxStyle.Exclamation, "Tres en Raya")

Label1.Text = "Iniciar Juego"

gano = True

Exit Sub

End If

If (M(0, i) = M(1, i) And M(1, i) = M(2, i)) Then

'Línea Vertical

MsgBox("Ganó " & M(1, i), MsgBoxStyle.Information +

MsgBoxStyle.Exclamation, "Tres en Raya")

Label1.Text = "Iniciar Juego"

gano = True

Exit Sub

End If

Next

If (M(0, 0) = M(1, 1) And M(1, 1) = M(2, 2)) Or (M(0, 2) = M(1,

1) And M(1, 1) = M(2, 0)) Then

'Línea Diagonal

MsgBox("Ganó " & M(1, 1), MsgBoxStyle.Information +

MsgBoxStyle.Exclamation, "Tres en Raya")

Label1.Text = "Iniciar Juego"

gano = True

Exit Sub

End If

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

gano = True

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

Dim i, j As Integer

Dim obj As Object

gano = False

For i = 0 To 2

For j = 0 To 2

M(i, j) = (i + j * 3).ToString

Next

Next

For Each obj In Me.GroupBox1.Controls

'obj.clear()

Page 18: Variables y arreglos en .Net

Next

Label1.Text = "Turno de X"

End Sub

End Class

ARRAYLIST

Los arreglos tienen mucha similitud a lo que sería una lista. Y por facilidad se han creado los ArrayList. Que son un tipo especial de arreglo con método y propiedades de lista incluidos. Estos se encuentran en System.Collections.

Propiedades Frecuentes

Count. Devuelve el número de elementos actuales.

Capacity. Asigna o devuelve el máximo de elementos que contendrá el arrayList. Este valor siempre será mayor o igual que el devuelto por Count. Si al añadir un nuevo elemento, Count fuese mayor que Capacity, la capacidad del array interno se duplicaría para que se pudiesen añadir nuevos elementos. Si se asigna directamente un valor, el array interno se adaptaría a ese valor.

Item. Asigna o devuelve el elemento indicado, según el número del índice.

Métodos Frecuentes

Add. Añade un elemento al final del array.

Clear. Borra los elementos de la lista.

Page 19: Variables y arreglos en .Net

Clone. Hace una copia de la lista.

Insert. Inserta un elemento en el índice indicado.

Remove. Elimina el elemento del índice especificado.

Sort. Clasifica los elementos de la lista.

Crear una aplicación usando ArrayList

Crear una aplicación que permita ingresar datos a un objeto tipo ArrayList, además de mostrarlos, contarlos y borrarlos.

Public Class Form1

'Declaración del ArrayList

Dim dat As New ArrayList

Private Sub Button1_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button1.Click

Dim x As String

'Ingreso de datos

x = InputBox("Ingresar el dato a almacenar en el ArrayList:")

'Compara la loongitud del ArrayList

If x.Length > 0 Then

dat.Add(x)

End If

TextBox1.Text = dat.Count.ToString

End Sub

Private Sub Button2_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button2.Click

Dim obj As Object

Dim cad As String

cad = ""

If dat.Count() = 0 Then

MsgBox("No se ha ingresado ningún dato.",

MsgBoxStyle.Information, "Observación:")

Page 20: Variables y arreglos en .Net

Exit Sub

End If

For Each obj In dat

cad &= obj.ToString & Chr(13)

Next

MsgBox(cad, MsgBoxStyle.Information, "Contenido:")

End Sub

Private Sub Button3_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button3.Click

dat.Clear()

TextBox1.Text = dat.Count.ToString

End Sub

End Class