C# es un lenguaje de programación sencillo pero potente, destinadosobre todos a los desarrolladores de aplicaciones que utilicenMicrosoft .NET Framework. En su versión 5.0 incorpora importantesnovedades como la facilidad para realizar tareas asíncronas utilizando las claves async y await, el uso de los atributos Caller Info paraobtener información sobre el elemento que realiza la llamada a unmétodo, y muchas nuevas características. Esta obra, a través de unlenguaje sencillo, directo y con un enfoque práctico paso a paso,permitirá al lector dominar desde las técnicas básicas cómo controlarel flujo de ejecución y la gestión de errores, a construir solucionescompletas con Visual Studio, a utilizar propiedades avanzadas como los atributos y los tipos dinámicos e incluso a construir aplicacionesavanzadas para la Tienda Windows, para Windows y para la Webutilizando C# 5.0.PrólogoIntroducciónPúblico y organizaciónConvencionesCódigo fuenteParte I. Fundamentos de C1. .NET Framework y C#.NET FrameworkCommon Language RuntimeCommon Type SystemCommon Intermediate LanguageVirtual Execution SystemGestión de la memoria y recolección de basuraLa librería de clases del sistemaEspacios de nombresPlataforma de cálculo paraleloDynamic Language RuntimeEl lenguaje C#TiposDeclaraciones y expresionesVariables y constantesIdentificadores y palabras claveResumenPreguntas y respuestasEjerciciosPreguntasRespuestasActividades2. Presentación de Visual StudioPresentación de las versiones de Visual StudioSoluciones, proyectos y elementosEscribir el primer programaCrear un proyectoAñadir declaraciones al programaEjecutar la aplicaciónUtilizar Visual Studio para depurar el códigoEl compilador y los errores de ejecuciónDepurar el códigoLas ventanas de variablesDataTipUtilizar la ventana InmediatoLos puntos de interrupciónControlar la ejecución del programaLa ventana Pila de llamadasEstablecer la instrucción siguienteVer los datosComentar el códigoResumenPreguntas y respuestasEjerciciosPreguntasRespuestasActividades3. Los tipos de C#Los tiposLos tipos predefinidos de C#Otros tipos que se suelen utilizar en C#Fecha y horaIdentificadores únicos globales (GUID)Identificadores de recursos uniformes (URI)Números enteros grandes y números complejosTrabajar con operadoresOperadores aritméticos y de asignaciónOperadores relacionalesOperadores lógicosOperador condicionalValores predeterminadosLos tipos nulos y anulablesEmisión y conversiónEmpaquetar y desempaquetar las conversionesResumenPreguntas y respuestasEjerciciosPreguntasRespuestasActividades4. Las clases y los objetos de C#Programación orientada a objetosEncapsulación y abstracciónProgramación orientada a componentesLas clases en C#Ambito y espacio de la declaraciónAccesibilidadCampos y constantesPropiedadesMétodosSobrecargar métodosParámetros opcionales y argumentosIniciar una claseConstrucción estáticaClases anidadasClases parcialesClases estáticasMétodos de ampliaciónIniciadores de objetosResumenPreguntas y respuestasEjerciciosPreguntasRespuestasActividades5. Herencias, interfaces y clases abstractasHerencia y polimorfismoTrabajar con miembros heredadosMiembros y clases abstractasTrabajar con interfacesResumenPreguntas y respuestasEjerciciosPreguntasRespuestasActividades6. Crear tipos enumerados y estructurasTipos enumeradosEnumeraciones etiquetadasTrabajar con estructurasDefinir los métodos de una estructuraSobrecarga del operadorOperadores de conversiónConstrucción e iniciaciónResumenPreguntas y respuestasEjerciciosPreguntas RespuestasActividades7. Los eventos y su gestiónLos eventosSuscribir y quitar una suscripciónPublicar un eventoIniciar un eventoResumenPreguntas y respuestasEjerciciosPreguntasRespuestasActividadesParte II. Programar en C#8. Controlar el flujo del programaComprender las declaraciones de selecciónLa declaración ifLa declaración switchDeclaraciones de repeticiónLa declaración whileLa declaración doLa declaración forLa declaración foreachLas declaraciones de saltoLa declaración breakLa declaración continueLa declaración returnResumenPreguntas y respuestasEjerciciosPreguntasRespuestasActividades9. Cadenas y expresiones regularesCadenasCadenas vacíasManipulación de cadenasTrabajar con subcadenasComparación de cadenasModificar partes de la cadenaConcatenar, unir y dividir cadenasCrear cadenas modificables con StringBuilderFormato de tipoCadenas de formato estándarCadenas de formato personalizadasFormato compuestoExpresiones regularesLas clases de expresiones regulares en C#La clase RegexLas clases Match y MatchCollection Las clases Group y CaptureUtilizar expresiones regulares para validar cadenasUtilizar expresiones regulares para buscar coincidencias ensubcadenasResumenPreguntas y respuestasEjerciciosPreguntasRespuestasActividades10. Trabajar con arrays y con coleccionesArrays sencillos y multidimensionalesIndexar un arrayIniciación de un arrayLa clase System.ArrayIndexadoresColecciones genéricasListasColeccionesDiccionariosConjuntosPilas y colasIniciadores de una colecció