Namespace System#

Logo C#

Namespace de uso común en C#

System.Collections#

ArrayList#

Los arrayList son un tipo de array que puede contenter valores mixtos.

 1using System;
 2// cargamos la librería Collections:
 3using System.Collections;
 4
 5namespace Tipos
 6{
 7
 8    class Program
 9    {
10        static void Main(string[] args)
11        {
12            // arrayList de tamaño definido:
13            ArrayList miListaLimitada = new ArrayList(10);
14            // arrayList de tamaño dinámico:
15            ArrayList miLista = new ArrayList();
16
17            // agregar elementos de cualquier tipo:
18            miLista.Add(30);
19            miLista.Add("Alfredo");
20            miLista.Add(true);
21
22            // eliminar elemento:
23            miLista.Remove("Alfredo");
24
25            // eliminar elementos de un arrayList por posición:
26            miLista.RemoveAt(1);
27
28            // eliminar por rango ej: a partir del índice 2 borrar dos elementos (índice 3 y 4):
29            lista.RemoveRange(2, 2);
30
31            // ordenar elementos por su valor:
32            miLista.Sort();
33
34            // Comprobar cuantos elementos tiene el ArrayList:
35            Console.WriteLine(miLista.Count);
36
37            // comprobar si existe un valor en la lista:
38            Console.WriteLine(miLista.Contains(66.62));
39
40            // encontrar la posición de un valor de la list:
41            Console.WriteLine(miLista.FindIndex(x => x == 66.62));
42
43            // vaciar lista
44            miLista.Clear();
45
46            Console.Read();
47
48        }
49    }
50}

Listas#

Las listas son idénticas a los arrays salvo que se pueden añadir o quitar elementos del mismo a través de métodos específicos.

 1using System;
 2// cargamos Collections generic para listas de un solo tipo:
 3using System.Collections.Generic;
 4
 5namespace Tipos
 6{
 7    class Program
 8    {
 9        static void Main(string[] args)
10        {
11            // crear una lista vacia:
12            var precios = new List<double>();
13
14            // crear una lista con valores asignados:
15            var preciosIva = new List<double> { 5.23, 6.21, 32.26, 66.62 };
16
17            // añadir valores:
18            preciosIva.Add(15.23);
19
20            // eliminar elemento por su valor:
21            preciosIva.Remove(6.21);
22
23            // eliminar elemento por su índice:
24            preciosIva.Remove(0);
25
26            // ordenar elementos por su valor:
27            preciosIva.Sort();
28
29            // Comprobar cuantos elementos tiene la lista:
30            Console.WriteLine(preciosIva.Count);
31
32            // comprobar si existe un valor en la lista:
33            Console.WriteLine(preciosIva.Contains(66.62));
34
35            // encontrar la posición de un valor de la list:
36            Console.WriteLine(preciosIva.FindIndex(x => x == 66.62));
37
38            // vaciar lista
39            preciosIva.Clear();
40
41            Console.Read();
42        }
43    }
44}

Diccionarios#

Los diccionarios son un tipo de dato similar a sus homónimos en Python o los objetos en javaScript:

 1using System;
 2using System.Collections.Generic;
 3
 4namespace diccio
 5{
 6    class MainClass
 7    {
 8        public static void Main(string[] args)
 9        {
10            // crear un diccionario:
11            Dictionary<string, string> consolas = new Dictionary<string, string>();
12
13            // agregar elementos
14            consolas.Add("nombre", "PlayStation");
15            consolas.Add("marca", "Sony");
16            consolas.Add("lanzamiento", "1994");
17
18            // utilizar elementos:
19            Console.WriteLine("La videoconsola {0} {1} fue lanzada en el año {2}", consolas["marca"], consolas["nombre"], consolas["lanzamiento"]);
20
21
22            // crear diccionario y asignar valores directamente:
23            Dictionary<string, string> userPedro = new Dictionary<string, string>()
24            {
25                {"nombre", "Pedro"},
26                {"apellidos", "Lopez Aguirrez"},
27                {"Edad", "33"}
28            };
29
30            // Recorrer elementos del diccionario:
31            foreach (KeyValuePair<string, string> usuario in userPedro)
32            {
33                Console.WriteLine("{0}: {1}", usuario.Key, usuario.Value);
34            }
35
36
37
38            Console.Read();
39        }
40    }
41}
  • Ejemplo de listado de diccionarios:

 1using System;
 2using System.Collections.Generic;
 3
 4namespace diccio
 5{
 6    class MainClass
 7    {
 8        public static void Main(string[] args)
 9        {
10            // crear un listado para diccionarios:
11            List<Dictionary<string, string>> usuarios = new List<Dictionary<string, string>>();
12
13            // crear diccionarios:
14            Dictionary<string, string> userPedro = new Dictionary<string, string>()
15            {
16                {"nombre", "Pedro"},
17                {"apellidos", "Lopez Aguirrez"}
18            };
19            Dictionary<string, string> userPaco = new Dictionary<string, string>()
20            {
21                {"nombre", "Paco"},
22                {"apellidos", "Ortega Marín"}
23            };
24            Dictionary<string, string> userJulia = new Dictionary<string, string>()
25            {
26                {"nombre", "Julia"},
27                {"apellidos", "Gamez Gómez" }
28            };
29
30            // añadir elementos al listado:
31            usuarios.Add(userPedro);
32            usuarios.Add(userPaco);
33            usuarios.Add(userJulia);
34
35
36
37            foreach (Dictionary<string, string> usuario in usuarios)
38            {
39                Console.WriteLine("Usuario: {0} {1}", usuario["nombre"], usuario["apellidos"]);
40            }
41
42            Console.Read();
43        }
44    }
45}

System.IO#

Leer archivo#

 1using System;
 2// Cargar librería:
 3using System.IO;
 4
 5namespace Tipos
 6{
 7
 8    class Program
 9    {
10
11        static void Main(string[] args)
12        {
13            // cargar texto. El caracter @ normaliza la ruta:
14            string archivo = File.ReadAllText(@"C:\textos\texto.txt");
15
16            Console.WriteLine(archivo);
17            Console.Read();
18        }
19    }
20}

Manipulación de archivos#

  • Escritura de archivos:

 1using System;
 2using System.IO;
 3
 4namespace Tipos
 5{
 6
 7    class Program
 8    {
 9
10        static void Main(string[] args)
11        {
12            // se guarda en un array y esta vez usamos ReadAllLines:
13            string[] archivo = File.ReadAllLines(@"C:\textos\texto.txt");
14
15            // recorremos con un foreach:
16            foreach(string linea in archivo)
17                Console.WriteLine("\t" + linea);
18
19            Console.Read();
20        }
21    }
22}
  • Lectura de archivos:

 1using System;
 2using System.IO;
 3
 4namespace Tipos
 5{
 6
 7    class Program
 8    {
 9
10        static void Main(string[] args)
11        {
12            // se genera un array con las líneas que irán en el texto:
13            string[] lineas = { "Titulo: La casa de Cera", "Descripción: es una novela de miedito." };
14            // se guarda en una ruta:
15            File.WriteAllLines(@"C:\textos\novela.txt", lineas);
16
17            Console.WriteLine("Se ha escrito el archivo");
18
19            Console.Read();
20        }
21    }
22}
  • Actualización de archivos:

 1using System;
 2using System.IO;
 3
 4namespace Tipos
 5{
 6    class Program
 7    {
 8
 9        static void Main(string[] args)
10        {
11            // para actualizar el archivo hacemos uso de Streamwritter, no olvides añadir true para que no sobreescriba:
12            using(StreamWriter archivo = new StreamWriter(@"C:\textos\novela.txt", true))
13            {
14                archivo.WriteLine("Calificación: 8/10");
15            }
16            Console.WriteLine("Añadido con éxito");
17
18            Console.Read();
19        }
20    }
21}
  • Ejemplo: Uso de StreamWriter para crear un procesador de texto:

 1using System;
 2using System.IO;
 3
 4namespace Tipos
 5{
 6    class Program
 7    {
 8
 9        static void Main(string[] args)
10        {
11            Console.Write("Título del archivo: ");
12            string titulo = Console.ReadLine();
13
14            string texto = "";
15
16            using (StreamWriter archivo = new StreamWriter(@"C:\textos\" + titulo + ".txt", true))
17            {
18
19                while (texto != "fin")
20                {
21                    Console.WriteLine("Escribe una línea: ");
22                    texto = Console.ReadLine();
23                    archivo.WriteLine(texto);
24                }
25            }
26        }
27    }
28}