Introduction 1Book 1: The Basics of C# Programming 5Chapter 1: Creating Your First C# Console Application 7Chapter 2: Living with Variability -- Declaring Value-Type Variables 25Chapter 3: Pulling Strings 49Chapter 4: Smooth Operators 81Chapter 5: Getting into the Program Flow 95Chapter 6: Lining Up Your Ducks with Collections 125Chapter 7: Stepping through Collections 155Chapter 8: Buying Generic 187Chapter 9: Some Exceptional Exceptions 209Chapter 10: Creating Lists of Items with Enumerations 229Book 2: Object-Oriented C# Programming 241Chapter 1: Showing Some Class 243Chapter 2: We Have Our Methods 261Chapter 3: Let Me Say This about this 287Chapter 4: Holding a Class Responsible 303Chapter 5: Inheritance: Is That All I Get? 333Chapter 6: Poly-what-ism? 353Chapter 7: Interfacing with the Interface 379Chapter 8: Delegating Those Important Events 407Chapter 9: Can I Use Your Namespace in the Library? 433Chapter 10: Improving Productivity with Named and Optional Parameters 465Chapter 11: Interacting with Structures 475Book 3: Designing for C# 497Chapter 1: Writing Secure Code 499Chapter 2: Accessing Data 509Chapter 3: Fishing the File Stream 525Chapter 4: Accessing the Internet 543Chapter 5: Creating Images 559Chapter 6: Programming Dynamically! 575Book 4: A Tour of Visual Studio 587Chapter 1: Getting Started with Visual Studio 589Chapter 2: Using the Interface 603Chapter 3: Customizing Visual Studio 627Book 5: Windows Development with WPF 639Chapter 1: Introducing WPF 641Chapter 2: Understanding the Basics of WPF 653Chapter 3: Data Binding in WPF 681Chapter 4: Practical WPF 707Chapter 5: Programming for Windows 10 and Above 721Book 6: Web Development with ASP.NET 743Chapter 1: Creating a Basic ASP.NET Core App 745Chapter 2: Employing the Razor Markup Language 761Chapter 3: Generating and Consuming Data 775Index 795
John Paul Mueller is an author and technical editor with experience in application development, database management, machine learning, and deep learning. He has written hundreds of books and articles helping everyday people learn everything from networking to database management.