Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
● 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);
● 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/