Microsoft Visual C# es un lenguaje simple, pero poderoso, con muchas de las mejores características de C++ y Microsoft Visual Basic, dando como resultado un lenguaje más lógico y más limpio. C# 3.0 disponible como parte de Microsoft Visual Studio 2008, agrega más características adicionales como métodos de extensión, cálculos lambda, y, la más famosa de todas, la habilidad del Language Integrated Query, o LINQ. Esta obra le enseñará los principios de la programación con C# 3.0 utilizando Visual Studio 2008 y la versión 3.5 de .NET framework.
Con este libro tendrá un minucioso entendimiento de C# y aprenderá a construir aplicaciones Windows Presentation Foundation (WPF), acceder a las bases de datos Microsoft SQL Server, desarrollar aplicaciones web ASP.NET y construir y consumir un servicio Windows Communication Foundation, entre otros muchos aspectos. Además, en el DVD-ROM adjunto, encontrará la versión de evaluación en castellano de Microsoft Visual Studio Professional 2008 completamente operativa durante 90 días, así como los códigos de muestra que utilizará mientras realiza los ejercicios del libro.
Agradecimientos.
Introducción. ¿Para quién es este libro?. Encuentre su mejor punto de partida en este libro. Convenciones utilizadas en este libro.
Parte I. Introducción a Microsoft Visual C# y Microsoft Visual Studio 2008.
1. Bienvenido a C#. Comenzar a programar con el entorno Visual Studio 2008. Escribir su primer programa. Utilizar asignaciones de nombres. Crear una aplicación gráfica. Referencia rápida.
2. Trabajar con variables, operadores y expresiones. Comprender comandos. Utilizar identificadores. Identificar palabras clave. Utilizar variables. Nombrar variables. Enunciar variables. Trabajar con tipos de datos primitivos. Mostrar valores de tipo de datos primitivo. Utilizar operadores aritméticos. Operadores y tipos. Examinar operadores aritméticos. Controlar la precedencia. Usar la asociatividad para evaluar expresiones. La asociatividad y el operador de asignación. Incrementar y reducir variables. Prefijo y postfijo. Enunciar variables locales clasificadas implícitamente. Referencia rápida.
3. Escribir procedimientos y aplicar ámbito. Enunciar métodos. Especificar la sintaxis de la enunciación del procedimiento. Escribir comandos return. Requerir procedimientos. Especificar la sintaxis de requerimiento del procedimiento. Aplicar ámbito. Definir el ámbito local. Definir ámbito clase. Sobrecargar procedimientos. Escribir procedimientos. Referencia rápida.
4. Utilizar comandos de decisión. Enunciar variables booleanas. Utilizar operadores booleanos. Comprender operadores de igualdad y de relación. Comprender operadores lógicos condicionales. Resumir la precedencia y asociatividad de operadores. Utilizar comandos if para tomar decisiones. Comprender la sintaxis del comando if. Utilizar bloques para agrupar comandos. Comandos if graduales. Utilizar comandos switch. Comprender la sintaxis del comando switch. Seguir las reglas del comando switch. Referencia rápida.
5. Utilizar asignación compleja y comandos de iteración. Utilizar operadores de asignación complejos. Escribir comandos while. Escribir comandos for. Comprender el ámbito del comando for. Escribir comandos do. Referencia rápida.
6. Administrar errores y excepciones. Confrontar errores. Intentar confrontar y capturar excepciones. Manipular una excepción. Excepciones no manipulables. Utilizar manipuladores catch múltiples. Utilizar aritmética de números enteros verificados y no verificados. Escribir comandos Checked. Escribir expresiones checked. Lanzar excepciones. Utilizar un bloque finally. Referencia rápida.
Parte II. Comprender el lenguaje C#.
7. Crear y administrar clases y objetos. Comprender la clasificación. El propósito de la encapsulación. Definir y utilizar una clase. Controlar la accesibilidad. Trabajar con constructores. Sobrecargar constructores. Comprender procedimientos static y datos. Crear un área compartida. Crear un área static utilizando la palabra clave const. Referencia rápida.
8. Comprender valores y referencias. Copiar variables y clases de tipo de valor. Comprender valores null y tipos nullable. Utilizar tipos nullable. Comprender las propiedades de los tipos nullable. Utilizar parámetros ref y out. Crear parámetros ref. Crear parámetros out. Cómo se organiza la memoria de un ordenador. Utilizar la pila y el montículo. La clase System.Object. Encajonar. Desencajonar. Lanzar datos con seguridad. El operador is. El operador as. Referencia rápida.
9. Crear tipos de valores con enumeraciones y estructuras. Trabajar con enumeraciones. Enunciar una enumeración. Utilizar una enumeración. Elegir valores literales de enumeración. Elegir un tipo subyacente de enumeración. Trabajar con estructuras. Enunciar una estructura. Comprender diferencias entre estructuras y clases. Enunciar variables de estructura. Comprender la iniciación de una estructura. Copiar variables de estructura. Referencia rápida.
10. Utilizar arrays y colecciones. ¿Qué es un array?. Declarar variables array. Crear una instancia array. Inicializar variables array. Crear un array escrito implícitamente. Acceder a un elemento individual del array. Moverse a través de un array. Copiar arrays. ¿Qué son las clases colección?. La clase colección ArrayList. La clase colección Queue. La clase colección Stack. La clase colección HasTable. La clase colección SortedList. Utilizar inicializadores de colección. Comparar arrays y colecciones. Utilizar clases colección para jugar a las cartas. Referencia rápida.
11. Comprender las matrices de parámetros. Utilizar matrices de argumentos. Declarar una matriz params. Utilizar params object[]. El procedimiento Console.WriteLine. Utilizar una matriz params. Referencia rápida.
12. Trabajar con la herencia. ¿Qué es la herencia?. Utilizar la herencia. Clase base y clase derivada. Constructores que llaman a una clase base. Asignar clases. Declarar métodos new. Declarar métodos virtuales. Declarar métodos override. Entender el acceso protegido. Métodos de extensión. Referencia rápida.
13. Crear interfaces y definir clases abstractas. Entender las interfaces. Sintaxis de las interfaces. Limitaciones de las interfaces. Implementar una interfaz. Referenciar una clase a través de su interfaz. Trabajar con múltiples interfaces. Clases abstractas. Métodos abstractos. Clases selladas. Métodos sellados. Implementar estructuras extensibles. Resumen de las combinaciones de palabras clave. Referencia rápida.
14. Usar la recolección de elementos no usados y la gestión de recursos. Vida de un objeto. Escribir destructores. ¿Por qué utilizar la recolección de elementos no utilizados?. ¿Cómo funciona el recolector de elementos no utilizados?. Recomendaciones. Gestión de los recursos. Métodos de eliminación. Eliminación sin excepciones. La instrucción using. Llamar al método Dispose desde un destructor. Escribir un código sin excepciones. Referencia rápida.
Parte III. Crear componentes.
15. Implementar propiedades para acceder a campos. Implementar la encapsulación utilizando métodos. ¿Qué son las propiedades?. Utilizar propiedades. Propiedades de sólo lectura. Propiedades de sólo escritura. Accesibilidad de las propiedades. Entender las limitaciones de la propiedades. Utilizar las propiedades de forma correcta. Declarar propiedades de la interfaz. Usar propiedades en una aplicación Windows. Generar propiedades automáticas. Inicializar objetos utilizando propiedades. Referencia rápida.
16. Utilizar indizadores. ¿Qué es un indizador?. Un ejemplo que no utiliza indizadores. Los operadores bit a bit y de desplazamiento. El mismo ejemplo utilizando indizadores. Entender los descriptores de acceso indizadores. Comparar indizadores y matrices. Propiedades, matrices e indizadores. Indizadores en interfaces. Utilizar indizadores en una aplicación Windows. Referencia rápida.
17. Interrumpir el flujo del programa y manejar eventos. Declarar y utilizar delegados. Situación de una fábrica automatizada. Implementar la fábrica sin utilizar delegados. Implementar la fábrica utilizando un delegado. Utilizar delegados. Expresiones lambda y delegados. Crear un método adaptador. Utilizar una expresión Lambda como un adaptador. El formulario de las expresiones Lambda. Activar notificaciones con eventos. Declarar un evento. Suscripción a un evento. Quitar las suscripciones de un evento. Provocar un evento. Entender eventos de interfaz de usuario WPF. Utilizar eventos. Referencia rápida.
18. Introducción a los tipos genéricos. Problemas con objetos. La solución de los tipos genéricos. Clases genéricas y generalizadas. Tipos genéricos y sus restricciones. Crear una clase genérica. La teoría de los árboles binarios. Construir una clase árbol binario utilizando genéricos. Crear un método genérico. Definir un método genérico para construir un árbol binario. Referencia rápida.
19. Enumerar colecciones. Enumerar los elementos en una colección. Implementar de forma manual un enumerador. Implementar la interfaz IEnumerable. Implementar un enumerador utilizando un iterador. Un iterador simple. Definir un enumerador para la clase Tree utilizando un iterador. Referencia rápida.
20. Consultar datos de la memoria utilizando consultas. ¿Qué es LINQ (Language Integrated Query)?. Utilizar LINQ en una aplicación C#. Seleccionar datos. Filtrar datos. Ordenar, agrupar y agregar datos. Vincular datos. Utilizar operadores de consulta. Datos de consulta en objetos Tree. LINQ y evaluación aplazada. Referencia rápida.
21. Sobrecarga de operadores. Entender los operadores. Restricciones de los operadores. Operadores sobrecargados. Crear operadores simétricos. Interoperabilidad de operadores y lenguaje. Entender la asignación compuesta. Declarar operadores de incremento y decremento. Operadores en estructuras y clases. Definir operador en parejas. Implementar un operador. Entender la conversión de operadores. Proporcionar conversiones preestablecidas. Implementar operadores de conversión definidas por el usuario. Crear operadores simétricos, segunda parte. Añadir un operador de conversión implícito. Referencia rápida.
Parte IV. Trabajar con aplicaciones Windows.
22. Introducción a Windows Presentation Foundation. Crear una aplicación WPF. Crear una aplicación WPF. Añadir controles al formulario. Utilizar controles WPF. Cambiar propiedades de forma dinámica. Manejar eventos en un formulario WPF. Procesar eventos en formularios Windows. Referencia rápida.
23. Trabajar con menús y cuadros de diálogo. Directrices del menú y el estilo. Menús y eventos de menús. Crear un menú. Manejar eventos de menús. Menús de métodos abreviados. Crear menús de métodos abreviados. Cuadros de diálogo comunes en Windows. Utilizar la clase SaveFileDialog. Referencia rápida.
24. Realizar la validación. Validación de datos. Estrategias para validar las entradas del usuario. Un ejemplo: mantenimiento de la información de los clientes. Realizar la validación utilizando la vinculación de datos. Cambiar el punto en el que se produce la validación. Referencia rápida.
Parte V. Gestionar datos.
25. Consultar información en una base de datos. Consultar una base de datos utilizando ADO.NET. La base de datos Northwind. Crear la base de datos. Utilizar ADO.NET para consultar la información de los pedidos. Consultar una base de datos usando DLINQ. Definir una clase de entidad. Crear y ejecutar una consulta DLINQ. Recuperación aplazada e inmediata. Unir tablas y crear relaciones. Recuperación aplazada e inmediata. Segunda parte. Definir una clase personalizada DataContext. Utilizar DLINQ para consultar la información de pedidos. Referencia rápida.
26. Visualizar y editar datos utilizando el enlace de datos. Utilizar el enlace de datos con DLINQ. Utilizar DLINQ para modificar datos. Actualizar los datos existentes. Manejar actualizaciones conflictivas. Añadir y eliminar datos. Referencia rápida.
Parte VI. Construir aplicaciones Web.
27. Introducción a ASP.NET. Entender Internet como una infraestructura. Entender las peticiones y las respuestas de un servidor Web. Gestionar estados. Entender ASP.NET. Crear aplicaciones Web con ASP.NET. Generar una aplicación ASP.NET. Entender los controles de servidor. Crear y utilizar un tema. Definir un tema. Aplicar un tema. Referencia rápida.
28. Entender los controles de validación de formularios Web. Comparar validaciones de servidor y de cliente. Validar datos en el servidor Web. Validar datos en el navegador Web. Implementar la validación del cliente. Referencia rápida.
29. Proteger un sitio Web y acceder a datos con formularios Web. Gestionar la seguridad. Entender la seguridad basada en formularios. Implementar seguridad basada en formularios. Consultar y visualizar datos. Entender el control GridView del formulario Web. Visualizar la información del historial de pedidos y clientes. Paginar datos. Editar datos. Actualizar filas a través de un control GridView. Navegar entre formularios. Referencia rápida.
30. Crear y utilizar un servicio Web. Qué es un servicio Web. El papel del protocolo simple de acceso a objetos (SOAP). ¿Qué es el lenguaje de descripción de servicios Web?. Requisitos no funcionales de los servicios Web. El papel de Windows Communication Foundation. Construir un servicio Web. Crear el servicio Web ProductsService. Servicios Web, clientes y proxies. Hablar SOAP: la forma difícil. Hablar SOAP: la forma fácil. Consumir el servicio Web ProductsService. Referencia rápida.
Apéndice. Contenido del DVD-ROM.
Indice alfabético.