DORMAN, SCOTT J.
Prólogo
Introducción
Público y organización
Convenciones
Código fuente
Parte I. Fundamentos de C
1. .NET Framework y C#
.NET Framework
Common Language Runtime
Common Type System
Common Intermediate Language
Virtual Execution System
Gestión de la memoria y recolección de basura
La librería de clases del sistema
Espacios de nombres
Plataforma de cálculo paralelo
Dynamic Language Runtime
El lenguaje C#
Tipos
Declaraciones y expresiones
Variables y constantes
Identificadores y palabras clave
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
2. Presentación de Visual Studio
Presentación de las versiones de Visual Studio
Soluciones, proyectos y elementos
Escribir el primer programa
Crear un proyecto
Añadir declaraciones al programa
Ejecutar la aplicación
Utilizar Visual Studio para depurar el código
El compilador y los errores de ejecución
Depurar el código
Las ventanas de variables
DataTip
Utilizar la ventana Inmediato
Los puntos de interrupción
Controlar la ejecución del programa
La ventana Pila de llamadas
Establecer la instrucción siguiente
Ver los datos
Comentar el código
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
3. Los tipos de C#
Los tipos
Los tipos predefinidos de C#
Otros tipos que se suelen utilizar en C#
Fecha y hora
Identificadores únicos globales (GUID)
Identificadores de recursos uniformes (URI)
Números enteros grandes y números complejos
Trabajar con operadores
Operadores aritméticos y de asignación
Operadores relacionales
Operadores lógicos
Operador condicional
Valores predeterminados
Los tipos nulos y anulables
Emisión y conversión
Empaquetar y desempaquetar las conversiones
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
4. Las clases y los objetos de C#
Programación orientada a objetos
Encapsulación y abstracción
Programación orientada a componentes
Las clases en C#
Ámbito y espacio de la declaración
Accesibilidad
Campos y constantes
Propiedades
Métodos
Sobrecargar métodos
Parámetros opcionales y argumentos
Iniciar una clase
Construcción estática
Clases anidadas
Clases parciales
Clases estáticas
Métodos de ampliación
Iniciadores de objetos
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
5. Herencias, interfaces y clases abstractas
Herencia y polimorfismo
Trabajar con miembros heredados
Miembros y clases abstractas
Trabajar con interfaces
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
6. Crear tipos enumerados y estructuras
Tipos enumerados
Enumeraciones etiquetadas
Trabajar con estructuras
Definir los métodos de una estructura
Sobrecarga del operador
Operadores de conversión
Construcción e iniciación
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
7. Los eventos y su gestión
Los eventos
Suscribir y quitar una suscripción
Publicar un evento
Iniciar un evento
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
Parte II. Programar en C#
8. Controlar el flujo del programa
Comprender las declaraciones de selección
La declaración if
La declaración switch
Declaraciones de repetición
La declaración while
La declaración do
La declaración for
La declaración foreach
Las declaraciones de salto
La declaración break
La declaración continue
La declaración return
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
9. Cadenas y expresiones regulares
Cadenas
Cadenas vacías
Manipulación de cadenas
Trabajar con subcadenas
Comparación de cadenas
Modificar partes de la cadena
Concatenar, unir y dividir cadenas
Crear cadenas modificables con StringBuilder
Formato de tipo
Cadenas de formato estándar
Cadenas de formato personalizadas
Formato compuesto
Expresiones regulares
Las clases de expresiones regulares en C#
La clase Regex
Las clases Match y MatchCollection
Las clases Group y Capture
Utilizar expresiones regulares para validar cadenas
Utilizar expresiones regulares para buscar coincidencias en subcadenas
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
10. Trabajar con arrays y con colecciones
Arrays sencillos y multidimensionales
Indexar un array
Iniciación de un array
La clase System.Array
Indexadores
Colecciones genéricas
Listas
Colecciones
Diccionarios
Conjuntos
Pilas y colas
Iniciadores de una colección
Interfaces de colección
Objetos innumerables y repetidores
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
11. Utilizar excepciones para gestionar errores
Comprender las excepciones
System.Exception
Utilizar excepciones estándar
Lanzar excepciones
Gestionar las excepciones
Volver a lanzar las excepciones que se hayan detectado
Trabajar con excepciones
Trabajar con la aritmética de números enteros y el desbordamiento aritmético
Trabajar con las excepciones, el contrato del código y la validación de parámetros
Condiciones previas, condiciones posteriores e invariantes
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
12. La programación genérica
Por qué debemos utilizar la programación genérica
Parámetros de tipo genérico
Restricciones
Valores predeterminados para los tipos genéricos
Utilizar métodos genéricos
Crear clases genéricas
Combinar genéricos y arrays
La varianza en interfaces genéricas
Ampliar las interfaces variantes genéricas
Trabajar con tuples
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
13. Expresiones para consultas
LINQ
Manipular datos con LINQ
Seleccionar datos
Filtrar datos
Agrupar y ordenar datos
Unir datos
Simplificar datos
Métodos del operador para consultas
Funciones lambda
Expresiones lambda
Declaraciones lambda
Delegados predefinidos
Ejecución diferida
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Resultados
Actividades
Parte III. Trabajar con datos
14. Trabajar con archivos y streams
Archivos y directorios
Trabajar con rutas
Interactuar con los directorios especiales de Windows
Las clases DirectoryInfo y FileInfo
Las clases Directory y File
Leer y escribir datos
Archivos binarios
Streams guardados en buffer
Archivos de texto
Leer y escribir datos utilizando la clase File
Resumen
Preguntas y respuestas
Ejercicios
Preguntas
Respuestas
Actividades
15. Trabajar con XML
El modelo DOM de XML
Uti
C# es un lenguaje de programación sencillo pero potente, destinado sobre todos a los desarrolladores de aplicaciones que utilicen Microsoft .NET Framework. En su versión 5.0 incorpora importantes novedades como la facilidad para realizar tareas asíncronas utilizando las claves async y await, el uso de los atributos Caller Info para obtener información sobre el elemento que realiza la llamada a un método, y muchas nuevas características.
Esta obra, a través de un lenguaje sencillo, directo y con un enfoque práctico paso a paso, permitirá al lector dominar desde las técnicas básicas cómo controlar el flujo de ejecución y la gestión de errores, a construir soluciones completas con Visual Studio, a utilizar propiedades avanzadas como los atributos y los tipos dinámicos e incluso a construir aplicaciones avanzadas para la Tienda Windows, para Windows y para la Web utilizando C# 5.0.