Está en la página 1de 13

DESARROLLO DE

APLICACIONES DE
ESCRITORIO
ESTRUCTURAS
OBJETIVO: Qu el estudiante Aplique estructuras de datos en el desarrollo de
aplicaciones.
¿Qué son las estructuras ?
Una estructura en C# es similar a una clase, pero las estructuras carecen de
ciertas características, como la herencia. Además, como una estructura es un tipo
de valor, normalmente se puede crear más rápido que una clase. Si utiliza bucles
de pequeñas dimensiones en los que se crean grandes cantidades de estructuras
de datos nuevas, debe considerar la posibilidad de utilizar una estructura en vez
de una clase. Las estructuras también se utilizan para encapsular grupos de
campos de datos como las coordenadas de un punto en una cuadrícula o las
dimensiones de un rectángulo.
Listas
Es una estructura de datos Lineal y dinámica, es decir aumenta o disminuye su tamaño en tiempo de
ejecución.

Algunos métodos en las listas pueden ser:

● La sintaxis para crear una colección list‹T› es la siguiente: List‹tipo› nombre = new List‹tipo›();
● Count: Nos da el numero de elementos que hay en la lista.
● Add: Agrega elementos a la lista. ListaColores.Add ("Azul");
● Insert: Inserta un valor a la lista en una posición, insert(posición,valor) ListaColores.Insert(2,
"Blanco");
● ElementAt(posición): Nos regresa un valor de la posición especificada
● Remove: Remueve el primer valor que coincida con en que desea eliminar el usuario.
● RemoveAt(posición): Remueve el elemento de la lista de posición especifica.
Ejemplo implementando formulario
No ELEMENTO NOMBRE
1 1 Etiqueta lista
2 Etiqueta valor
3 Caja de texto txtvalor
2
3 4 Botón btnagregar
5 Botón btninsertar
6 Botón btneliminarde
12 7 Botón btneliminar
4 8 8 Botón btnmostrar
9 Etiqueta pocision
5 9
10 Caja de texto txtposicion
6 10 11 Botón btncerrar

7
12 Listbox live
11
private void btnagregar_Click(object sender, EventArgs e) private void btneliminar_Click(object sender, EventArgs
{ e)
int n; {
n = int.Parse(textvalor.Text);
int n;
MiLista.Add(n); // para añadir al final de la lista
n = int.Parse(textvalor.Text);
textvalor.Clear();// para poder limpiar la caja de texto
textvalor.Focus();// para posicionar el cursor nuevamente en MiLista.Remove(n);// elimina de la lista el primer
la caja de texto elemento que encuentre de un valor especifico
} textvalor.Clear();// para poder limpiar la caja de
texto
private void btninsertar_Click(object sender, EventArgs e) textvalor.Focus();// para posicionar el cursor
{ nuevamente en la caja de texto
int n, pos;
}
n = int.Parse(textvalor.Text); // valor a guardar
pos = int.Parse(textpocision.Text); // La pocision del valor
MiLista.Insert(pos, n); // usando el metodo para guardar private void btnmostrar_Click(object sender, EventArgs e)
textvalor.Clear();// para poder limpiar la caja de texto {
textvalor.Focus();// para posicionar el cursor nuevamente en int i;
la caja de texto liver.Items.Clear();//Limpia el contenido del lisbot
textpocision.Clear();// para poder limpiar la caja de texto for (i = 0; i <= MiLista.Count-1; i++)// Count solo
para saber cuantos valores se agregaron a la lista
} {
liver.Items.Add(MiLista.ElementAt(i));
private void btneliminarde_Click(object sender, EventArgs e)
}
{
int pos; }
pos = int.Parse(textpocision.Text);
textpocision.Clear();// para poder limpiar la caja de texto private void btncerrar_Click(object sender, EventArgs e)
textpocision.Focus();// para posicionar el cursor nuevamente {
en la caja de texto this.Close();
MiLista.RemoveAt(pos);// el metodo removera o elimina }
}
Estructuras
En Visual Studio C#, un tipo Struct es una construcción de programación utilizado para definir tipos
personalizados. Los tipos Struct se usan para encapsular pequeños grupos de variables relacionadas y
representadas como un solo elemento. Un registro es una agrupación de datos, llamados campos, los
cuales no necesariamente son del mismo tipo. Se definen con la palabra “Struct".

En C# (al contrario que en C), primero deberemos declarar cual va a ser la estructura de nuestro
registro, lo que no se puede hacer dentro de "Main". Más adelante, ya dentro de "Main", podremos
declarar variables de ese nuevo tipo. Los datos que forman un “Struct" pueden ser públicos o privados.

Desde el cuerpo del programa, para acceder a cada uno de los datos que forman el registro, tanto si
queremos leer su valor como si queremos cambiarlo, se debe indicar el nombre de la variable y el del
dato (o campo) separados por un punto:

persona.nombre = "Juan";
Ejemplo class Program
{
struct tipoPersona
{
public string nombre;
public char inicial;
public int edad;
public float nota;
}
public static void Main()
{
tipoPersona persona;

persona.nombre = "Juan";
persona.inicial = 'J';
persona.edad = 20;
persona.nota = 7.5f;
Console.WriteLine("La edad de {0} es {1}",persona.nombre, persona.edad);
Console.ReadKey();
}
}
Arrays de structs
personas[0].nombre = "Juan";
Se pueden almacenar los de varias personas si combinamos el uso de los "struct" con las personas[0].inicial = 'J';
tablas (arrays) personas[0].edad = 20;
personas[0].nota = 7.5f;
Declaración del array
Console.WriteLine("La edad de {0} es {1}",
tipoPersona[] personas = new tipoPersona[100];
personas[0].nombre, personas[0].edad);

Ejemplo: personas[1].nombre = "Pedro";


Console.WriteLine("La edad de {0} es {1}",
struct tipoPersona personas[1].nombre, personas[1].edad);
{ Console.ReadKey();
public string nombre; }
public char inicial;
public int edad;
public float nota;
}

public static void Main()


{
tipoPersona[] personas = new tipoPersona[100];
structs anidados
Podemos encontrarnos con un registro que tenga varios datos, y que a su vez ocurra que uno de esos datos esté
formado por varios datos más sencillos. Por ejemplo, una fecha de nacimiento podría estar formada por día, mes y
año. Para hacerlo desde C#, incluiríamos un "struct" dentro de otro, así:
Ejemplo:
struct fechaNacimiento public static void Main()
{ {
public int dia; tipoPersona persona;
public int mes;
public int anyo; persona.nombre = "Juan";
} persona.inicial = 'J';
persona.diaDeNacimiento.dia = 15;
struct tipoPersona persona.diaDeNacimiento.mes = 9;
{ persona.nota = 7.5f;
public string nombre; Console.WriteLine("{0} nació en el mes
public char inicial; {1}",
public fechaNacimiento diaDeNacimiento; persona.nombre,
public float nota; persona.diaDeNacimiento.mes);
} Console.ReadKey();
}
Ejecución
Recordatorios Importantes:
La palabra clave struct puede ser precedida por un modificador de acceso. En la declaración podemos
utilizar los siguientes modificadores de acceso. public, hace que le tipo esté disponible para el código de
cualquier Assembly. internal, solo estará disponible dentro del mismo Assembly. y por último, private, lo que
permite que el código solo esté disponible dentro de la estructura de datos que contiene. Este último es
únicamente utilizado con estructuras anidadas.

● Los struct son de tipo valor y las clases son tipo referencias.
● Las estructuras pueden tener métodos, propiedades, operadores, eventos.
● Pueden tener definidos constructores, pero no destructores. Sin embargo, este constructor es definido
por defecto y no puede ser cambiado.
● Una estructura puede implementar una o más interfaces.
● Los miembros de una estructura no pueden ser especificados como abstract, virtual o protected.
● Las estructuras no pueden ser heredadas, así como tampoco, pueden heredar.
Fuentes.
● https://www.nachocabanes.com/csharp/curso2015/csharp11c.php
● La biblia de C# libro-programación. Autor : Anaya
● https://www.nachocabanes.com/csharp/curso2015/csharp04c.php
● https://dominiotic.com/creando-estructuras-en-c/

También podría gustarte