Detalle del libro
Ver Índice
Prólogo
Capítulo 1
La plataforma .NET
1. Introducción
2. Historia
3. El Common Language Runtime (CLR)
4. La Base Class Library (BCL)
5. El Dynamic Language Runtime (DLR)
6. Evolución de la plataforma
6.1 .NET Core
6.2 .NET Compiler Platform: Roslyn
6.3 .NET en el mundo open source
7. Una primera aplicación con Visual C#
7.1 Creación
7.2 Compilación
7.3 Análisis del ensamblado
7.3.1 Estructura
7.3.2 Exploración con ILDASM
Capítulo 2
Visual Studio 2015
1. Instalación y primera ejecución
1.1 Requisitos previos
1.2 Ediciones de Visual Studio
1.2.1 Visual Studio Express
1.2.2 Visual Studio Community
1.2.3 Ediciones comerciales
1.3 Instalación
1.4 Primera ejecución
2. Descripción de las herramientas
2.1 Barras de herramientas
2.2 Explorador de soluciones
2.3 Examinador de objetos
2.4 Explorador de servidores
2.5 Ventana de propiedades
2.6 Ventana de edición de código
2.6.1 Navegación
2.6.2 Seguimiento de las modificaciones
2.6.3 Resaltar referencias
2.6.4 Refactorización
2.6.5 IntelliSense
2.6.6 Snippets .
Capítulo 3
La organización de una aplicación
1. Las soluciones
1.1 Presentación
1.2 Creación de una solución
1.3 Organización
Contenido 3
1.4 Acciones disponibles para una solución
1.4.1 Agregar y eliminar un proyecto
1.4.2 Creación de una carpeta de soluciones
1.4.3 Carga y descarga de un proyecto
1.4.4 Creación de un archivo
1.4.5 Compilar la solución
1.5 Configuración de la solución
1.5.1 Establecer proyectos de inicio
1.5.2 Dependencias del proyecto
1.5.3 Configuración de análisis de código
1.5.4 Depurar archivos de código fuente
1.5.5 Configuración
2. Los proyectos
2.1 Creación de un proyecto
2.2 Propiedades de un proyecto
2.2.1 Aplicación
2.2.2 Compilar
2.2.3 Eventos de compilación
2.2.4 Depurar
2.2.5 Recursos
2.2.6 Parámetros
Capítulo 4
Las bases del lenguaje
1. Introducción
2. Las variables
2.1 Nomenclatura de las variables
2.2 Tipo de las variables
2.2.1 Tipos valor y tipos referencia
2.2.2 Tipos integrados
2.3 Declaración de variables
2.4 Ámbito de las variables
2.5 Modificadores de acceso
2.6 La palabra clave var y la inferencia de tipo
3. Las constantes
4. Los operadores
4.1 Los operadores de acceso
4.1.1 Acceso simple: . (punto)
4.1.2 Acceso indexado: [ ]
4.1.3 Acceso con nulidad condicional: ?
4.2 Los operadores aritméticos
4.3 Los operadores de comparación
4.4 Los operadores condicionales
4.4.1 Operador ternario: ? ... :
4.4.2 Operador de fusión de valor nulo: ??
4.5 Los operadores lógicos
4.5.1 Negación: !.
4.5.2 Y lógico: &.
4.5.3 O lógico:
4.5.4 O exclusivo: ^
4.5.5 Y condicional: && .
4.5.6 O condicional:
4.6 Los operadores binarios
4.6.1 Y binario: &
4.6.2 O binario:
4.6.3 O exclusivo: ^
4.6.4 Negación: ~
4.6.5 Desplazar a la derecha: >>
4.6.6 Desplazar a la izquierda: <<
5. Las estructuras de control
5.1 Las estructuras condicionales
5.1.1 if ... else
5.1.2 switch
Contenido 5
5.2 Las estructuras de iteración
5.2.1 for
5.2.2 while
5.2.3 do ... while
5.2.4 foreach
5.2.5 Controlar la ejecución de un bucle
5.3 Otras estructuras
5.3.1 using.
5.3.2 goto
6. Las funciones.
6.1 Escritura de una función
6.2 Parámetros de función
6.3 Procedimientos
6.4 Sobrecargas
7. Los atributos
Capítulo 5
Programación orientada a objetos con C#
1. Principios de la programación orientada a objetos . .
2. Clases y estructuras
2.1 Clases.
2.1.1 Declaración
2.1.2 Constructor y destructor
2.1.3 Clases parciales
2.2 Estructuras
2.3 Creación de un método
2.3.1 Creación
2.3.2 Métodos parciales
2.3.3 Métodos de extensión
2.3.4 Métodos operadores
2.4 Creación de propiedades
2.4.1 Lectura y escritura
2.4.2 Solo lectura
2.4.3 Solo escritura
2.4.4 Propiedades automáticas
2.4.5 Inicialización de propiedades automáticas
2.4.6 Propiedades automáticas de solo lectura
2.4.7 Propiedades indexadas
2.5 Miembros estáticos
2.6 Uso de clases y estructuras
2.6.1 Instanciación
2.6.2 Inicialización
2.6.3 Tipos anónimos
3. Los espacios de nombres
3.1 Nomenclatura
3.2 using
4. La herencia
4.1 Implementación
4.2 Las palabras clave this y base
4.3 Sobrecarga y ocultación
4.3.1 Sobrecarga de métodos
4.3.2 Ocultación de métodos
4.3.3 Diferencias entre sobrecarga y ocultación
4.4 Imponer o prohibir la herencia
4.5 La conversión de tipo
5. Las interfaces
5.1 Creación
5.2 Uso.
5.2.1 Implementación implícita
5.2.2 Implementación explícita
6. Las enumeraciones
Contenido 7
7. Los delegados
7.1 Creación
7.2 Uso
7.3 Expresiones lambda
8. Los eventos
8.1 Declaración y producción
8.2 Gestión de los eventos
9. Los genéricos
9.1 Clases
9.1.1 Definición de una clase genérica
9.1.2 Uso de una clase genérica
9.2 Interfaces
9.2.1 Definición de una interfaz genérica
9.2.2 Uso de una interfaz genérica
9.3 Restricciones
9.4 Métodos
9.4.1 Definición de un método genérico
9.4.2 Uso de un método genérico
9.5 Eventos y delegados
10. Las colecciones
10.1 Tipos existentes
10.1.1 Array
10.1.2 ArrayList y List.
10.1.3 Hashtable y Dictionary
10.1.4 Stack y Stack
10.1.5 Queue y Queue
10.2 Seleccionar un tipo de colección
11. Programación dinámica
12. Programación asíncrona
12.1 Los objetos Task
12.2 Escribir código asíncrono con async y await
Capítulo 6
Depuración y gestión de errores
1. Los distintos tipos de errores
1.1 Errores de compilación
1.2 Errores de ejecución
2. Uso de excepciones
2.1 Creación y generación de excepciones
2.1.1 La clase Exception
2.1.2 La palabra clave throw
2.1.3 Excepciones especializadas
2.2 Gestionar las excepciones.
2.2.1 La estructura try ... catch
2.2.2 Los filtros de excepción.
2.2.3 El bloque finally
3. Las herramientas proporcionadas por Visual Studio
3.1 Control de la ejecución
3.1.1 Arranque
3.1.2 Detención
3.1.3 Pausa
3.1.4 Reanudar
3.2 Puntos de interrupción.
3.3 Visualizar el contenido de las variables
3.3.1 DataTips
3.3.2 Ventanas de inspección
3.3.3 Ventana de inspección rápida
3.3.4 Ventana de variables locales
3.4 Compilación condicional
Contenido 9
Capítulo 7
Desarrollo de aplicaciones Windows
1. Presentación de WPF
1.1 Estructura de una aplicación WPF.
1.2 XAML
1.2.1 Plantillas
1.2.2 Espacios de nombres
1.3 Contexto de datos y binding
2. Uso de controles
2.1 Agregar controles
2.2 Posición y dimensionamiento de controles
2.3 Agregar un controlador de eventos a un control
3. Los principales controles
3.1 Controles de ventanas
3.1.1 Window.
3.1.2 NavigationWindow
3.2 Controles de diseño
3.2.1 Grid
3.2.2 StackPanel
3.2.3 DockPanel
3.2.4 WrapPanel
3.2.5 Canvas
3.3 Controles de representación de datos
3.3.1 TextBlock
3.3.2 Label
3.3.3 Image
3.3.4 ScrollViewer
3.3.5 ItemsControl
3.3.6 StatusBar
3.3.7 ToolTip
3.4 Controles de edición de texto
3.4.1 TextBox
3.4.2 RichTextBox
3.4.3 PasswordBox
3.5 Controles de selección
3.5.1 RadioButton
3.5.2 CheckBox.
3.5.3 ComboBox.
3.5.4 ListBox
3.5.5 ListView
3.5.6 TreeView
3.5.7 Slider
3.5.8 Calendar.
3.5.9 DatePicker
3.6 Controles de acción
3.6.1 Button
3.6.2 Menu
3.6.3 ContextMenu
3.6.4 ToolBar
4. Interacciones de teclado y de ratón
4.1 Eventos de teclado
4.2 Eventos de ratón
4.3 Arrastrar y colocar
5. Ir más allá con WPF
5.1 Introducción al uso de Blend
5.1.1 La interfaz
5.1.2 Agregar y modificar controles visuales
5.2 Introducción a MVVM
5.2.1 Presentación
5.2.2 Las interfaces INotifyPropertyChanged
e INotifyCollectionChanged
5.2.3 Comandos
5.2.4 Implementación
Contenido 11
Capítulo 8
Acceso a datos
1. Principios de una base de datos
1.1 Terminología
1.2 El lenguaje SQL
1.2.1 Búsqueda de registros
1.2.2 Agregar registros
1.2.3 Actualización de información
1.2.4 Eliminar información
2. ADO.NET
2.1 Presentación
2.2 Los proveedores de datos
2.2.1 SQL Server
2.2.2 Oracle.
2.2.3 OLE DB
2.2.4 ODBC
3. Utilizar ADO.NET en modo conectado
3.1 Conexión a una base de datos
3.1.1 Cadenas de conexión
3.1.2 Pool de conexiones
3.1.3 Gestión de la conexión
3.2 Creación y ejecución de comandos
3.2.1 Definición y creación de un comando
3.2.2 Selección de datos
3.2.3 Acciones sobre los datos
3.2.4 Parametrización de un comando
3.2.5 Ejecución de procedimientos almacenados
4. Utilizar ADO.NET en modo desconectado
4.1 DataSet y DataTable
4.1.1 Descripción
4.1.2 Llenar un DataSet a partir de una base de datos.
4.1.3 Llenar un DataSet sin base de datos
4.2 Manipulación de datos sin conexión
4.2.1 Lectura de datos
4.2.2 Creación de restricciones
4.2.3 Relaciones entre DataTables
4.2.4 Estado y versiones de un DataRow
4.2.5 Modificación de datos
4.2.6 Eliminación de datos.
4.2.7 Validar o anular las modificaciones
4.2.8 Filtrado y ordenación mediante un DataView
4.2.9 Búsqueda de datos.
4.3 Validar las modificaciones en la base de datos
4.3.1 Generar los comandos de actualización
automáticamente
4.3.2 Comandos de actualización personalizados
4.3.3 Gestión de los accesos concurrentes
5. Utilizar las transacciones
Capítulo 9
LINQ
1. Presentación de LINQ
2. Sintaxis
2.1 Una primera consulta LINQ
2.2 Los operadores de consulta
2.2.1 Proyección
2.2.2 Filtrado
2.2.3 Ordenación
2.2.4 Particionado
2.2.5 Unión y agrupación
2.2.6 Agregación 1
Contenido 13
3. LINQ to SQL.
3.1 El mapeo objeto-relacional
3.1.1 Uso de SQLMetal
3.1.2 Uso del diseñador objeto/relacional.
3.2 Uso de LINQ to SQL
3.2.1 Recuperación de datos
3.2.2 Actualización de datos
3.2.3 Gestión de conflictos
Capítulo 10
XML
1. Presentación
2. Estructura de un archivo XML
2.1 Componentes de un documento XML
2.2 Documento bien formado y documento válido
3. Manipular un documento XML
3.1 Uso de DOM.
3.2 Uso de XPath
3.3 Uso de LINQ to XML.
Capítulo 11
Despliegue
1. Introducción
2. Windows Installer
2.1 Instalación de InstallShield Limited Edition
2.2 Creación de un proyecto de instalación
2.2.1 Información relativa a la aplicación.
2.2.2 Requisitos previos de instalación
2.2.3 Archivos de la aplicación
2.2.4 Accesos directos
2.2.5 Valores del registro
2.2.6 Cuadros de diálogo
3. ClickOnce
3.1 La tecnología ClickOnce
3.1.1 Principios de funcionamiento
3.1.2 Métodos de despliegue disponibles
3.1.3 Actualización de aplicaciones con ClickOnce
3.2 La publicación ClickOnce
Glosario
Índice
Estos dos libros ofrecen al lector el máximo de información sobre los fundamentos del lenguaje C# y su uso para la implementación de técnicas de inteligencia artificial.
1033 páginas redactadas por expertos. Hay elementos para descarga en www.ediciones-eni.com.
Un libro de la colección Recursos Informáticos
C# 6 y Visual Studio 2015 - Los fundamentos del lenguaje
Este libro se dirige a aquellos desarrolladores que deseen dominar el desarrollo de aplicaciones .Net con el lenguaje C# en su versión 6.
Tras recorrer el panorama de la plataforma .Net y describir las herramientas proporcionadas por el entorno Visual Studio 2015, el lector descubrirá progresivamente los elementos clave del lenguaje C# y la programación orientada a objetos, hasta poder aplicar estos conceptos al desarrollo de aplicaciones Windows con WPF. Una iniciación a las técnicas de depuración con Visual Studio le permitirá perfeccionar su dominio de la herramienta.
El desarrollo de aplicaciones cliente-servidor se aborda, a continuación, mediante el tema del acceso a datos con ADO.Net. Se realiza una descripción completa de Linq a través de ejemplos concretos que muestran cómo sus funcionalidades simplifican la manipulación de los datos provenientes de diversas fuentes. A continuación, se dedica un capítulo a la manipulación de datos en formato XML, que permite intercambiar datos entre aplicaciones de una manera sencilla y estandarizada. El final del ciclo de desarrollo se aborda mediante el desarrollo de una aplicación con las tecnologías Windows Installer y ClickOnce.
Para ayudar al lector en su aprendizaje se proporciona un glosario que resume la utilidad de las palabras clave de C# que se abordan en el libro.
Los ejemplos que se exponen en estas páginas están disponibles para su descarga en el sitio web www.ediciones-eni.com.
Los capítulos del libro:
Prólogo – La plataforma .NET – Visual Studio 2015 – La organización de una aplicación – Las bases del lenguaje – Programación orientada a objetos con C# – Depuración y gestión de errores – Desarrollo de aplicaciones Windows – Acceso a datos – LINQ – XML – Despliegue – Glosario
Un libro de la colección DataPro
Inteligencia Artificial para desarrolladores - Conceptos e implementación en C#
Este libro sobre Inteligencia Artificial está dirigido, principalmente, a los desarrolladores y no requiere profundos conocimientos en matemáticas. Al hilo de los distintos capítulos la autora presenta las principales técnicas de Inteligencia Artificial y, para cada una de ellas, su inspiración, biológica, física o incluso matemática, así como los distintos conceptos y principios (sin entrar en detalles matemáticos), con ejemplos y gráficos para cada uno de ellos. Los dominios de aplicación se ilustran mediante aplicaciones reales y actuales. Cada capítulo contiene un ejemplo de implementación genérico, que se completa con una aplicación práctica, desarrollada en C#. Estos ejemplos de código genéricos son fácilmente adaptables a numerosas aplicaciones en C#, bien sea en Silverlight, en Windows Phone, para Windows 8 o incluso en aplicaciones .NET más clásicas. Las técnicas de Inteligencia Artificial descritas son:
- Los sistemas expertos, que permiten aplicar reglas para tomar decisiones o descubrir nuevos conocimientos.
- La lógica difusa, que permite controlar sistemas informáticos o mecánicos de manera mucho más flexible que con los programas tradicionales.
- Los algoritmos de búsqueda de rutas, entre los cuales el algoritmo A* se utiliza con frecuencia en videojuegos para encontrar los mejores caminos.
- Los algoritmos genéticos, que utilizan la potencia de la evolución para aportar soluciones a problemas complejos.
- Los principales maetaheurísticos, entre ellos la búsqueda tabú, que permiten encontrar soluciones óptimas a problemas de optimización, con o sin restricciones.
- Los sistemas multi-agentes, que simulan elementos muy simples que permiten conseguir comportamientos emergentes a partir de varios agentes muy sencillos.
- Las redes neuronales, capaces de descubrir y reconocer modelos en series históricas, en imágenes o incluso en conjuntos de datos.
Para ayudar al lector a pasar de la teoría a la práctica, la autora proporciona para su descarga en el sitio web www.ediciones-eni.com siete proyectos de Visual Studio 2013 (uno por cada técnica de Inteligencia Artificial que se aborda en el libro), desarrollados en C#. Cada proyecto contiene una PCL, para la parte genérica, y una aplicación WPF, para la parte específica a la aplicación propuesta.
El libro termina con una bibliografía que permite al lector encontrar más información acerca de las diferentes técnicas, una webgrafía que enumera algunos artículos que presentan aplicaciones reales, un anexo y un índice.
Los capítulos del libro:
Prólogo – Introducción – Sistemas expertos – Lógica difusa – Búsqueda de rutas – Algoritmos genéticos – Metaheurísticos de optimización – Sistemas multi–agentes – Redes neuronales – Bibliografía – Webgrafía – Anexo