Programación en C# (2015), por Nacho Cabanes
- Prefacio
- 0.1. Programa y lenguaje
- 0.2. Lenguajes de alto nivel y de bajo nivel
- 0.3. Ensambladores, compiladores e intérpretes
- 0.4. Pseudocódigo
- 1.1. ¿Qué es C #? ¿Qué entorno usaremos?
- 1.2. Escribir un texto en C#
- 1.3. Cómo probar este programa (1: Mono para Linux) (*)
- 1.3.2. Cómo probarlo con Mono en Windows (*)
- 1.3.3. Otros editores más avanzados para Windows (*)
- 1.4. Mostrar números enteros en pantalla
- 1.5. Operaciones aritméticas básicas
- 1.6. Introducción a las variables: int
- 1.7. Identificadores
- 1.8. Comentarios
- 1.9. Datos por el usuario: ReadLine
- 1.10. using System
- 1.11. Escribir sin avanzar de línea
- 2.1. Estructuras alternativas - 2.1.1. if
- 2.1.2. if y sentencias compuestas
- 2.1.3. Operadores relacionales: <, <=, >, >=, ==, !=
- 2.1.4. if-else
- 2.1.5. Operadores lógicos: &&, ||, !
- 2.1.6. El peligro de la asignación en un if
- 2.1.7. Introducción a los diagramas de flujo
- 2.1.8. Operador condicional o ternario: ?
- 2.1.9. switch
- 2.2. Estructuras repetitivas (1: while)
- 2.2.2. do ... while
- 2.2.3. for
- 2.2.4. Bucles sin fin
- 2.2.5. Bucles anidados
- 2.2.6. Repetir sentencias compuestas
- 2.2.7. Contar con letras
- 2.2.8. Declarar variables en un for
- 2.2.9. Las llaves son recomendables
- 2.2.10. Interrumpir un bucle: break
- 2.2.11. Forzar la siguiente iteración: continue
- 2.2.12. Equivalencia entre for y while
- 2.2.13. Ejercicios resueltos sobre bucles
- 2.3. Saltar a otro punto del programa: goto
- 2.4. Más sobre diagramas de flujo. Diagramas de Chapin
- 2.5. foreach
- 2.6. Recomendación de uso para los distintos tipos de bucle
- 2.7. Una alternativa para el control errores: las excepciones
- 3. Tipos de datos básicos - 3.1. Tipo de datos entero
- 3.2. Tipo de datos real
- 3.3. Tipo de datos carácter
- 3.4. Toma de contacto con las cadenas de texto
- 3.5. Los valores "booleanos"
- 4.1. Conceptos básicos sobre arrays
- 4.1.4. Operaciones habituales con arrays: buscar, añadir, insertar, borrar
- 4.2. Arrays bidimensionales
- 4.3. Estructuras o registros
- 4.4. Cadenas de caracteres
- 4.4.6. Otras manipulaciones de cadenas
- 4.5. Recorriendo arrays y cadenas con foreach
- 4.6. Ejemplo completo
- 4.7. Ordenaciones simples
- 4.8. Otros editores más avanzados: Notepad++, Geany
- 5.1. Diseño modular de programas: Descomposición modular
- 5.2. Conceptos básicos sobre funciones
- 5.3. Parámetros de una función
- 5.4. Valor devuelto por una función. El valor void
- 5.5. Variables locales y variables globales
- 5.6. Los conflictos de nombres en las variables
- 5.7. Modificando parámetros
- 6. Programación orientada a objetos - 6.1. ¿Por qué los objetos?
- 6.2. Objetos y clases en C#
- 6.3. Proyectos a partir de varios fuentes
- 6.4. La herencia
- 6.5. Visibilidad
- 6.6. Constructores y destructores
- 6.7. Polimorfismo y sobrecarga
- 6.8. Orden de llamada de los constructores
- 7. Utilización avanzada de clases- 7.1. La palabra static
- 7.2. Arrays de objetos
- 7.3. Funciones virtuales. La palabra override
- 7.4. Llamando a un método de la clase padre
- 7.5. La palabra this: el objeto actual
- 7.6. Sobrecarga de operadores
- 7.7. Proyectos completos propuestos
- 8.1. Escritura en un fichero de texto
- 8.2. Lectura de un fichero de texto
- 8.3. Lectura hasta el final del fichero
- 8.4. Añadir a un fichero existente
- 8.5. Ficheros en otras carpetas
- 8.6. Saber si un fichero existe
- 8.7. Más comprobaciones de errores: excepciones
- 8.8. Conceptos básicos sobre ficheros
- 8.9. Leer un byte de un fichero binario
- 8.10. Leer hasta el final de un fichero binario
- 8.11. Leer bloques de datos de un fichero binario
- 8.12. La posición en el fichero
- 8.13. Leer datos nativos
- 8.14. Ejemplo completo: leer información de un fichero BMP
- 8.15. Escribir en un fichero binario
- 8.16. Leer y escribir en un mismo fichero binario