Pro C# 9 with .NET 5: Foundational Principles and Practices in Programming

Book description

This essential classic provides a comprehensive foundation in the C# programming language and the framework it lives in. Now in its 10th edition, you will find the latest C# 9 and .NET 5 features served up with plenty of "behind the curtain" discussion designed to expand developers’ critical thinking skills when it comes to their craft. Coverage of ASP.NET Core, Entity Framework Core, and more, sits alongside the latest updates to the new unified .NET platform, from performance improvements to Windows Desktop apps on .NET 5, updates in XAML tooling, and expanded coverage of data files and data handling. Going beyond the latest features in C# 9, all code samples are rewritten for this latest release.

Dive in and discover why this book is a favorite of C# developers worldwide. Gain a solid foundation in object-oriented development techniques, attributes and reflection, generics and collections, and numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies). With the help of Pro C# 9 with .NET 5 you will gain the confidence to put C# into practice, and explore the .NET universe and its vast potential on your own terms.

What You Will Learn

  • Explore C# 9 features and updates in records, immutable classes, init only setters, top-level statements, patterns, and more
  • Hit the ground running with ASP.NET Core web applications and web services
  • Embrace Entity Framework Core for building real-world, data-centric applications, with deeply expanded coverage new to this edition
  • Develop applications with C# and modern frameworks for services, web, and smart client applications
  • Understand the philosophy behind .NET
  • Discover the new features in .NET 5, including single file applications and smaller container images, Windows ARM64 support, and more
  • Dive into Windows Desktop Apps on .NET 5 using Windows Presentation Foundation
  • Check out performance improvements included with updates to ASP.NET Core, Entity Framework Core, and internals like garbage collection, System.Text.Json, and container size optimization

Who This Book Is For

Developers who are interested in .NET programming and the C# language

“Amazing! Provides easy-to-follow explanations and examples. I remember reading the first version of this book; this is a must-have for your collection if you are learning .NET!” 

– Rick McGuire, Senior Application Development Manager, Microsoft

“Phil is a journeyman programmer who brings years of experience and a passion for teaching to make this fully revised and modernized ‘classic’ a ‘must-have’. Any developer who wants full-spectrum, up-to-date coverage of both the C# language and how to use it with .NET and ASP.NET Core should get this book.”

– Brian A. Randell, Partner, MCW Technologies and Microsoft MVP 

Table of contents

  1. Cover
  2. Front Matter
  3. Part I. Introducing C# and .NET 5
    1. 1. Introducing C# and .NET (Core) 5
    2. 2. Building C# Applications
  4. Part II. Core C# Programming
    1. 3. Core C# Programming Constructs, Part 1
    2. 4. Core C# Programming Constructs, Part 2
  5. Part III. Object Oriented Programming with C#
    1. 5. Understanding Encapsulation
    2. 6. Understanding Inheritance and Polymorphism
    3. 7. Understanding Structured Exception Handling
    4. 8. Working with Interfaces
    5. 9. Understanding Object Lifetime
  6. Part IV. Advanced C# Programming
    1. 10. Collections and Generics
    2. 11. Advanced C# Language Features
    3. 12. Delegates, Events, and Lambda Expressions
    4. 13. LINQ to Objects
    5. 14. Processes, AppDomains, and Load Contexts
    6. 15. Multithreaded, Parallel, and Async Programming
  7. Part V. Programming with .NET Core Assemblies
    1. 16. Building and Configuring Class Libraries
    2. 17. Type Reflection, Late Binding, and Attribute-Based Programming
    3. 18. Dynamic Types and the Dynamic Language Runtime
    4. 19. Understanding CIL and the Role of Dynamic Assemblies
  8. Part VI. File Handling, Object Serialization, and Data Access
    1. 20. File I/O and Object Serialization
    2. 21. Data Access with ADO.NET
  9. Part VII. Entity Framework Core
    1. 22. Introducing Entity Framework Core
    2. 23. Build a Data Access Layer with Entity Framework Core
  10. Part VIII. Windows Client Development
    1. 24. Introducing Windows Presentation Foundation and XAML
    2. 25. WPF Controls, Layouts, Events, and Data Binding
    3. 26. WPF Graphics Rendering Services
    4. 27. WPF Resources, Animations, Styles, and Templates
    5. 28. WPF Notifications, Validations, Commands, and MVVM
  11. Part IX. ASP.NET Core
    1. 29. Introducing ASP.NET Core
    2. 30. RESTful Services with ASP.NET Core
    3. 31. MVC Applications with ASP.NET Core
  12. Back Matter

Product information

  • Title: Pro C# 9 with .NET 5: Foundational Principles and Practices in Programming
  • Author(s): Andrew Troelsen, Phillip Japikse
  • Release date: April 2021
  • Publisher(s): Apress
  • ISBN: 9781484269398