C# 2005

C# 2005

APRENDIZAJE Y REFERENCIA

KINGSLEY-HUGHES, ADRIAN / KINGSLEY-HUGHES, KATHIE

32,00 €
IVA incluido
Editorial:
ANAYA MULTIMEDIA, S.A.
Año de edición:
2007
ISBN:
978-84-415-2238-1
Páginas:
448
Encuadernación:
Otros
Colección:
DE PROGRAMADORES, PARA PROGRAMADORES

Disponibilidad:

  • Calle Doce de OctubreConsulte disponibilidad
  • Calle Valeriano MirandaConsulte disponibilidad

Introducción

¿Cómo es de diferente este libro?

¿Para quién es este libro?

¿Cómo está estructurado este libro?

¿Cómo abordar los capítulos?

Algunos consejos...

Convenciones



1. ¿Qué es C#?

El nombre

Visión de conjunto

Historia

C# y CLR

Componentes en .NET

Estándares

Otras implementaciones

Código C# de ejemplo

Las ventajas de aprender C#

Resumen



2. Empezar a trabajar con C#

Aprender C# es más barato de lo que pensaba

El extremo barato del espectro

El editor de texto

La plataforma Microsoft .NET Framework

Cómo utilizar herramientas gratuitas C#

Escribir código

Una utilidad barata que hace la vida más sencilla

Editores de texto y herramientas C# alternativos

Herramientas de negocio: Visual Studio y Visual C#

Resumen



3. Visión de conjunto de C#

C#

Fundamentos básicos de C#

Examinar el código fuente C#

Tipos

Tipos valor

Tipos referencia

Tipos predefinidos

Sobrecarga

Conversiones

Tipos tabla

Variables y parámetros

Expresiones

Sentencias

Clases

Constantes

Campos

Métodos

Propiedades

Eventos

Operadores

Indexadores

Constructores de instancia

Finalizadores

Constructores estáticos

Herencia

Clases estáticas

Estructuras

Interfaces

Delegados

Enum

Genéricos

Iteradores

Tipos anulables

Resumen



4. Estructura del lenguaje C#

Programas C#

Gramáticas

Ambigüedades de gramática

Análisis léxico

Terminadores de línea

Comentarios

Espacio en blanco

Tokens

Operadores y signos de puntuación

Directivas de preprocesamiento

Resumen



5. Conceptos C#

Inicio de una aplicación

Finalización de una aplicación

Declaraciones C#

Miembros

Miembros de un espacio de nombres

Miembros de un estructura

Miembros de una enumeración

Miembros de una clase

Miembros de una interfaz

Miembros de una tabla

Miembros de un delegado

Acceso a miembros

Accesibilidad declarada

Firmas

Firmas de índices

Firmas de constructor de instancia

Firmas de método

Firmas de operador

Firmas y sobrecarga

Sobrecarga de indexadores

Sobrecarga de constructores de instancias

Sobrecarga de métodos

Sobrecarga de operadores

Ámbitos

Espacio de nombres y nombres de tipos

Administración de memoria en C#

Resumen



6. Tipos

Tres tipos de tipos

Diferencia entre tipos de valor y referencia

Parámetros ref y out

El sistema de tipos de C#

Tipos de valor

System.ValueType

Constructores predeterminados

Tipos estructura

Tipos simples

Tipos integrales

Utilizar tipos

Tipos de punto flotante

Tipos decimales

Tipo bool

Tipos de enumeración

Tipos de referencia

Tipos de clase

Tipo object

Tipo string

Tipos de tabla

Tipos de delegado

El tipo null

Boxing y unboxing

Boxing

Unboxing

Tipos anulables

Miembros

Interfaces implementadas

Resumen



7. Variables

¿Qué son variables?

No todas las variables se crean igual

Categorías de variables

Variables estáticas

Elementos de tabla

Variables de instancia

Utilizar variables de instancia en clases

Utilizar variables de instancia en estructuras

Parámetros de valores

Parámetros de referencia

Parámetros de salida

Variables locales

Valores predeterminados

Asignación definitiva

Variables asignadas inicialmente

Variables no asignadas inicialmente

Reglas para determinar asignación definitiva

Resumen



8. Conversiones

Conversiones implícitas

Conversiones de identidad

Conversiones implícitas numéricas

Conversiones implícitas de enumeración

Conversiones implícitas de referencia

Conversiones boxing

Conversiones implícitas de parámetro de tipo

Conversiones implícitas de expresión de constante

Conversiones implícitas definidas por el usuario

Conversiones explícitas

Conversiones explícitas numéricas

Tipo integral a tipo integral

Tipo decimal a integral

Tipo float/double a int

Double a float

Float/double a decimal

Decimal a float/double

Conversiones explícitas de enumeración

Conversiones explícitas de referencia

Conversiones unboxing

Conversiones explícitas de parámetro de tipo

Conversiones explícitas definidas por el usuario

Conversiones estándar

Conversiones implícitas estándar

Conversiones explícitas estándar

Conversiones definidas por el usuario

Conversiones implícitas definidas por el usuario

Conversiones anónimas de método

Conversiones de grupo de métodos

Conversiones de tipo null

Conversiones anulables

Resumen



9. Expresiones

Clasificaciones de expresiones

Resultados de una expresión

Valores de expresiones

Expresiones y operadores

Tres tipos de operadores

Precedencia y asociatividad de operadores

Sobrecarga de operadores

Resolución de sobrecarga de operador unario

Resolución de sobrecarga de operador binario

Promociones numéricas

Operadores unarios

Operadores de igualdad

Operadores relacionales

Búsqueda de miembros

Tipos base

Miembros de función

Invocación de operador

Listas de argumentos

Resolución de sobrecarga

Expresiones primarias

Literales

Nombres simples

Expresiones entre paréntesis

Acceso a miembros

Expresiones de llamada

Acceso a elementos

Acceso a tabla

Acceso a indexador

Acceso a this

Acceso a base

Operador new

Operador typeof

Operador sizeof

Operadores checked/unchecked

Expresión de valor predeterminada

Métodos anónimos

Expresiones unarias

Expresiones de conversión

Operadores aritméticos

Operadores de desplazamiento

Operadores relacionales y comprobación de tipos

Operadores lógicos

Operadores lógicos condicionales

Operador de fusión de nulos

Operadores de asignación

Expresiones

Expresiones constantes

Expresiones booleanas

Resumen



10. Sentencias

¿Qué son sentencias?

Sentencias C#

Punto final y alcance

Punto final

Alcance

Bloques de código

Listas de sentencias

Sentencias vacías

Sentencias con etiquetas

Sentencias de declaración

Declaraciones de variable local

Declaraciones de constante local

Sentencias de expresión

Sentencias de selección

La sentencia if

La sentencia switch

Sentencias de iteración

La sentencia while

La sentencia do

La sentencia for

La sentencia foreach

Sentencias de salto

La sentencia break

La sentencia continue

La sentencia goto

La sentencia return

La sentencia throw

La sentencia using

La sentencia yield

Resumen



11. Espacios de nombres

¿Qué son espacios de nombres?

Organizar clases

Controlar el ámbito

Unidades de compilación

Declaraciones de espacios de nombres

Directivas extern alias

Directivas using

Directivas using alias

Directivas using espacio de nombres

Miembros de espacios de nombres

Declaraciones de tipo

Miembro de alias cualificado

Resumen



12. Clases

¿Qué son clases?

Declaraciones de clase

Modificadores de clase

Especificación de clase base

Clases base

Implementaciones de interfaz

Cuerpo de la clase

Declaraciones partial

Miembros de clase

Herencia

Modificador new

Modificadores de acceso

Miembros estáticos y de instancia

Constantes

Campos

Campos estáticos y de instancia

Campos de sólo lectura

Campos volátiles

Inicialización de campos

Inicialización de variable

Métodos

Parámetros de método

Métodos estáticos y de instancia

Métodos virtuales

Métodos de reemplazo

Métodos sellados

Métodos abstractos

Cuerpo del método

Propiedades

Propiedades estáticas y de instancia

Descriptores de acceso

Descriptores de acceso virtual, sealed, override y abstract

Eventos

Eventos como campos

Eventos estáticos y de instancia

Descriptores de acceso virtual, sealed, override y abstract

Indexadores

Operadores

Operadores unarios

Operadores binarios

Operadores de conversión

Constructores de instancia

Constructores estáticos

Finalizadores

Resumen



13. Estructuras

¿Qué son estructuras?

Declaraciones de estructura

Modificadores de estructura

Interfaces de estructura

Cuerpo de la estructura

Miembros de estructura

Diferencias entre clase y estructura

Semántica de valor

Herencia

Asignaciones

Valores predeterminados

Boxing y unboxing

this

Inicializadores de campo

Constructores

Finalizadores

Constructores estáticos

Cuándo utilizar estructuras

Resumen



14. Tablas

¿Qué es una tabla?

Tipos de tabla

Tipo System.Array

Crear tablas

Acceder a los elementos de tabla

Miembros de tabla

Covarianza de tabla

Inicializadores de tabla

Comas finales

Resumen



15. Interfaces

¿Qué es una interfaz?

Definir una interfaz

Declaraciones de interfaz

Modificadores

Interfaces base explícitas

Cuerpo de la interfaz

Miembros de interfaz

Métodos de interfaz

Propiedades de interfaz

Eventos de interfaz

Resumen



16. Enumeraciones

Declaraciones de enumeración

Modificadores de enumeración

Miembros de enumeración

Cuidado con las referencias circulares

System.Enum

Valores y operaciones de enumeración

Resumen



17. Delegados

Delegados en acción

Declaraciones de delegado

Modificadores

Declarar delegados

Lista de invocación

Instanciar delegados

Resumen



18. Excepciones

Crear excepciones

System.Exception

Clases de excepción comunes

Gestionar excepciones

¿Qué sucede si no se encuentra ninguna cláusula catch?

Resumen



19. Atributos

Introducción a los atributos

Clases de atributo

Parámetros posicionales vs. con nombre

Uso de atributos

Tipos de parámetros de atributo

Especificación de atributos

Instancias de atributos

Compilación de atributos

Recuperación en tiempo de ejecución de instancias de atributo

Atributos reservados

El atributo Conditional

Métodos condicionales

Clases de atributo condicional

El atributo Obsolete

Resumen



20. Genéricos

Genéricos en C# vs. plantillas en C++

Ventajas de los genéricos

Declaraciones de clase genérica

Parámetros de tipo

Diferencias de parámetros de tipo

Tipos de instancia

Miembros de clase genérica

Campos estáticos en clases genéricas

Constructores estáticos en clases genéricas

Acceso a miembros protegidos

Sobrecarga en clases genéricas

Operadores en clases genéricas

Declaraciones de estructura genérica

Declaraciones de interfaz genérica

Implementaciones explícitas de miembro de interfaz

Declaraciones de delegado genérico

Tipos construidos

Argumentos de tipo

Tipos abiertos y cerrados

Miembros de tipos construidos

Utilizar directiva alias

Métodos genéricos

Firmas de método genérico

Métodos genéricos virtuales

Invocar métodos genéricos

Dónde no se utilizan genéricos

Restricciones

Resumen



21. Iteradores

Bloque de iterador

Bloques de iterador y errores en tiempo de compilación

Interfaces de enumerador

Interfaces enumerable

Tipo yield

This

Objetos de enumerador

El método MoveNext

Interrumpir la ejecución

La propiedad Current

El método Dispose

Objetos enumerables

Método GetEnumerator

Resumen



22. Código no seguro

¿Qué es código no seguro?

Ventajas y desventajas de código no seguro

Ventajas de código no seguro

Desventajas de código no seguro

Contextos del código no seguro

Fundamentos básicos de punteros

Punteros void

Operadores de puntero

Unsafe en acción

Utilizar el modificador fixed

Operador sizeof

Utilizar stackalloc

Compilar código no seguro

Resumen



Apéndices



A. Gramática C#

Gramática léxica

Comentarios

Identificadores

Palabras clave

Terminadores de línea

Literales

Operadores/Puntuadores

Directivas de preprocesamiento

Caracteres de escape Unicode

Espacio en blanco

Gramática sintáctica

Tablas

Atributos

Clases

Delegados

Enumeraciones

Expresiones

Genéricos

Interfaces

Sentencias

Estructuras

Tipos

Variables

Extensiones para código no seguro



B. Convenciones de nombrado

Uso de mayúsculas

PascalCase

CamelCase

Mayúsculas

Distinción entre mayúscula y minúscula

Abreviaturas

Palabras clave a evitar

Nombrar espacios de nombres

Nombrar clases

Nombrar interfaces

Nombrar atributos

Nombrar tipo de enumeración

Nombrar campos estáticos

Nombrar parámetros

Nombrar métodos

Nombrar propiedades

Nombrar eventos



C. Biblioteca estándar



D. Portabilidad

Aspectos generales de portabilidad

Portabilidad Plataforma/SO

Despliegue simplificado

Interoperabilidad con código heredado

Comportamiento indefinido

Comportamiento definido según implementación

Comportamiento inespecífico

Aspectos finales



E. Comentarios de documentación XML

Sintaxis

Etiquetas recomendadas



Índice alfabético

Como uno de los lenguajes de programación más destacado en estos momentos, C# le permite construir una amplia variedad de aplicaciones seguras y robustas que se ejecutan sobre la plataforma .NET Framework, incluidos servicios Web XML, aplicaciones cliente-servidor, aplicaciones de base de datos y mucho más. Ahora, con la aparición de C# 2005, encontrará un conjunto complejo de opciones y parámetros del nuevo lenguaje para crear aplicaciones más potentes si sabe cómo utilizarlas.



Combinando tutorial y referencia, este libro presenta las características más novedosas a la vez que explora el lenguaje desde sus bases. La primera parte le proporciona un conocimiento detallado de conceptos básicos de programación y le ayuda a adquirir las habilidades para escribir sus propias aplicaciones. La segunda parte presenta información detallada sobre las características específicas del lenguaje de modo que puede aprovechar inmediatamente todas las herramientas disponibles.

Artículos relacionados

  • POWER BI. CURSO PRÁCTICO
    CARRASCO GÓMEZ, FRANCISCO JOSÉ
    Este libro es una guía esencial para cualquier persona que quiera descubrir el potencial de Power BI, la herramienta de análisis de datos de Microsoft que facilita la creación de informes dinámicos para apoyar la toma de decisiones. Desde sus orígenes en los complementos de Excel, Power BI ha evolucionado para ofrecer una amplia variedad de opciones de conectividad y modelado d...

    29,90 €

  • INGENIERÍA DE DATOS. DISEÑO, IMPLEMENTACIÓN Y OPTIMIZACIÓN DE FLUJOS DE DATOS EN
    ORTEGA CANDEL, JOSÉ MANUEL
    Este libro es una guía esencial para quienes desean dominar los conceptos y técnicas de ingeniería de datos. A través de un enfoque teóricopráctico, se exploran los métodos para la ingesta, almacenamiento y procesamiento eficiente de datos, con énfasis en el uso de Python y otras tecnologías clave. Los lectores aprenderán sobre la importancia de los datos en las organizaciones,...

    29,90 €

  • ENTIENDE LA TECNOLOGÍA
    GENTILE, NATE
    Piénsalo: gracias a los avances tecnológicos podemos hablar con alguien que esté a miles de kilómetros, predecir el tiempo, cruzar el planeta en cuestión de horas, conocer nuestro estado de salud, curar enfermedades graves, acceder al instante a más información de la que nunca seremos capaces de leer... ¡Si incluso hemos conseguido hacer que las máquinas aprendan! ¿Cómo de dif...

    20,90 €

  • CANVA. CURSO COMPLETO
    GÓMEZ, CHEMA
    La guía definitiva y más exhaustiva para dominar Canva, la herramienta de diseño gráfico más accesible y poderosa de nuestros tiempos ...

    19,90 €

  • ADOBE INDESIGN. CURSO PRÁCTICO
    LÓPEZ JIMÉNEZ, MARÍA TERESA
    Esta obra, basada en la versión 2024 de InDesign, es una guía integral para diseñadores gráficos, editores y cualquier persona interesada en dominar el arte de la maquetación de documentos. Este libro ofrece una metodología práctica y directa para aprender a utilizar Adobe InDesign, una de las herramientas más poderosas y versátiles del diseño editorial. A lo largo de sus capít...

    24,90 €

  • LA LEY DE LA INTELIGENCIA ARTIFICIAL. PARTE I
    LÓPEZ-AMO SAINZ, ALVARO PABLO
    La extensión del uso la Inteligencia Artificial a un sinfín de actividades de nuestra vida diaria está suponiendo una nueva revolución tecnológica, económica y social. Tal revolución evidencia la necesidad de una regulación legal en la que La Unión Europea, la OCDE y un amplio número de países ya han avanzado.Con un lenguaje claro, didáctico y sin tecnicismos este libro present...

    34,90 €