Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
C# 12 representa la novena gran actualización del lenguaje de programación insignia de Microsoft, posicionando a C# como un lenguaje con una flexibilidad y amplitud inusuales. Por un lado, ofrece abstracciones de alto nivel, como expresiones de consulta y continuaciones asíncronas, mientras que, por otro, permite una eficiencia de bajo nivel mediante construcciones como tipos de valores personalizados y punteros opcionales.
El precio de este crecimiento es que hay más que nunca que aprender. Aunque herramientas como IntelliSense de Microsoft -y las referencias en línea- son excelentes para ayudarte en el trabajo, presuponen la existencia de un mapa de conocimientos conceptuales. Este libro proporciona exactamente ese mapa de conocimientos en un estilo conciso y unificado, sin desorden ni largas introducciones.
Al igual que las siete ediciones anteriores, C# 12 en una cáscara de nuez está organizado en torno a conceptos y casos de uso, lo que lo hace amigable tanto para la lectura secuencial como para la navegación aleatoria. Además, profundiza significativamente en los conceptos asumiendo sólo unos conocimientos básicos, lo que lo hace accesible tanto a lectores intermedios como avanzados.
Este libro abarca C#, el Tiempo de Ejecución del Lenguaje Común (CLR) y la Biblioteca de Clases Base (BCL) de .NET 8. Hemos elegido este enfoque para dar cabida a temas difíciles y avanzados sin comprometer la profundidad ni la legibilidad. Las características añadidas recientemente a C# están marcadas para que también puedas utilizar este libro como referencia para C# 11 y C# 10.
Público al que va dirigido
Este libro está dirigido a un público de nivel intermedio a avanzado. No se requieren conocimientos previos de C#, pero sí cierta experiencia general en programación. Para el principiante, este libro complementa, más que sustituye, una introducción a la programación de tipo tutorial.
Este libro es un compañero ideal para cualquiera de la gran variedad de libros que se centran en una tecnología aplicada, como ASP.NET Core o Windows Presentation Foundation (WPF). C# 12 en una cáscara de nuez cubre las áreas del lenguaje y de .NET que dichos libros omiten, y viceversa.
Si buscas un libro que repase todas las tecnologías .NET, éste no es para ti. Este libro tampoco es adecuado si quieres aprender sobre las API específicas para el desarrollo de dispositivos móviles.
Cómo está organizado este libro
Loscapítulos 2 a 4 se centran exclusivamente en C#, empezando por los conceptos básicos de sintaxis, tipos y variables, y terminando con temas avanzados como el código inseguro y las directivas del preprocesador. Si eres nuevo en el lenguaje, deberías leer estos capítulos secuencialmente.
Los capítulos restantes se centran en las Bibliotecas de Clases Base de .NET 8, abarcando temas como la consulta integrada en lenguaje (LINQ), XML, colecciones, concurrencia, E/S y redes, gestión de memoria, reflexión, programación dinámica, atributos, criptografía e interoperabilidad nativa. Puedes leer la mayoría de estos capítulos al azar, excepto los capítulos 5 y 6, que sientan las bases de los temas posteriores. También es mejor que leas los tres capítulos sobre LINQ en secuencia, y algunos capítulos presuponen cierto conocimiento de la concurrencia, que cubrimos en el Capítulo 14.
Qué necesitas para utilizar este libro
Los ejemplos de este libro requieren .NET 8. También te resultará útil la documentación .NET de Microsoft para buscar tipos y miembros individuales (disponible en línea).
Aunque es posible escribir el código fuente en un simple editor de texto y construir tu programa desde la línea de comandos, serás mucho más productivo con un bloc de código para probar instantáneamente fragmentos de código, además de un entorno de desarrollo integrado (IDE) para producir ejecutables y bibliotecas.
Para un bloc de código de Windows, descarga LINQPad 8 de www.linqpad.net (gratis). LINQPad es totalmente compatible con C# 12 y está mantenido por el autor.
Para un IDE de Windows, descarga Visual Studio 2022: cualquier edición es adecuada para lo que se enseña en este libro. Para un IDE multiplataforma, descarga Visual Studio Code.
Nota
Todos los listados de código de todos los capítulos están disponibles como muestras interactivas (editables) de LINQPad. Puedes descargar todo el lote con un solo clic: abajo a la izquierda, haz clic en la pestaña Muestras de LINQPad, haz clic en "Descargar más muestras" y, a continuación, elige "C# 12 en una cáscara de nuez".
Convenciones utilizadas en este libro
El libro utiliza la notación UML básica para ilustrar las relaciones entre tipos, como se muestra en la Figura P-1. Un rectángulo inclinado significa una clase abstracta; un círculo, una interfaz. Una línea con un triángulo hueco denota herencia, con el triángulo apuntando al tipo base. Una línea con una flecha indica una asociación unidireccional; una línea sin flecha indica una asociación bidireccional.
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
- Indica nuevos términos, URI, nombres de archivo y directorios
Constant width
- Indica el código C#, las palabras clave y los identificadores, y la salida del programa
Constant width bold
- Muestra una sección de código resaltada
Constant width italic
- Muestra el texto que debe sustituirse por valores proporcionados por el usuario
Utilizar ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en http://www.albahari.com/nutshell.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, puedes utilizar el código de este libro en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y citando código de ejemplo no requiere permiso (aunque agradecemos la atribución). Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos la atribución, pero en general no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo: "C# 12 en una cáscara de nuez por Joseph Albahari (O'Reilly). Copyright 2024 Joseph Albahari, 978-1-098-14744-0".
Si crees que el uso que haces de los ejemplos de código queda fuera del uso justo o del permiso aquí concedido, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-889-8969 (en Estados Unidos o Canadá)
- 707-829-7019 (internacional o local)
- 707-829-0104 (fax)
- support@oreilly.com
- https://www.oreilly.com/about/contact.html
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/c-sharp-nutshell-12.
Los listados de códigos y recursos adicionales están disponibles en:
Para obtener noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.
Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media
Síguenos en Twitter: https://twitter.com/oreillymedia
Míranos en YouTube: https://youtube.com/oreillymedia
Agradecimientos
Joseph Albahari
Desde su primera edición en 2007, este libro ha contado con la colaboración de magníficos revisores técnicos. Por sus aportaciones a las últimas ediciones, me gustaría dar las gracias especialmente a Stephen Toub, Paulo Morgado, Fred Silberberg, Vitek Karas, Aaron Robinson, Jan Vorlicek, Sam Gentile, Rod Stephens, Jared Parsons, Matthew Groves, Dixin Yan, Lee Coward, Bonnie DeWitt, Wonseok Chae, Lori Lalonde y James Montemagno.
Y por sus aportaciones a ediciones anteriores, estoy muy agradecido a Eric Lippert, Jon Skeet, Stephen Toub, Nicholas Paldino, Chris Burrows, Shawn Farkas, Brian Grunkemeyer, Maoni Stephens, David DeWinter, Mike Barnett, Melitta Andersen, Mitch Wheat, Brian Peek, Krzysztof Cwalina, Matt Warren, Joel Pobar, Glyn Griffiths, Ion Vasilian, Brad Abrams y Adam Nathan.
Aprecio que muchos de los revisores técnicos sean personas consumadas en Microsoft, y les agradezco especialmente que hayan dedicado su tiempo a elevar este libro al siguiente listón de calidad.
Quiero dar las gracias a Ben Albahari y Eric Johannsen, que colaboraron en ediciones anteriores, y al equipo de O'Reilly, en especial a mi eficiente y receptivo editor Corbin Collins. Por último, mi más profundo agradecimiento a mi maravillosa esposa, Li Albahari, cuya presencia me mantuvo feliz durante todo el proyecto.
Get C# 12 en pocas palabras now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.