"This volume deals with 'advanced features' of C # (the author's terms), including their interaction with other facets of the language and .NET. ... The given examples are simple and illustrate concepts in an easy-to-understand manner. The book is a useful guide for experienced C ++ and/or C # programmers." (Anoop Malaviya, Computing Reviews, July 17, 2021)
Chapter 1: C# 7 in focus
Chapter Goal: Have a more in-depth look at the features of C# 7 and specifically how to implement these in every day programming projects.
No of pages 50
Sub -Topics
1. Getting started with Tuples
2. Pattern matching and deconstruction
3. Using out variables
4. Using local functions
5. Generalized async return types
6. Throw expressions and expression bodies for accessors, constructors and finalizers
Chapter 2: Exploring C#
Chapter Goal: Have a look at some of the other features of C# that might often be overlooked by developers. This is not C# 7 specific code.
No of pages: 40
Sub - Topics
1. Using and implementing abstract classes
2. Using and implementing an interface
3. Work with strings using String Interpolation, FormattableString and nameof
4. Asynchronous programming using async and await
5. Making use of extension methods
6. Generics
7. Lambda Expressions
8. Nullable types
9. Dynamics
Chapter 3: The new features of C# 8.0
Chapter Goal: Introduce developers to some of the new features announced for C# 8.0
No of pages: 15 – 20 (depends on length of code samples)
Sub - Topics
1. A note on C# 8 and what you can expect
2. Nullable reference types
3. Async streams
4. Ranges and indices
5. Recursive patterns
6. Switch expressions
7. Target-typed new-expressions
Chapter 4: Creating responsive web applications using ASP.NET MVC
Chapter Goal: Show how Bootstrap combined with jQuery and SCSS can be used to create responsive web applications with a great looking, user friendly UI.
No of pages: 30
Sub - Topics:
1. Creating your first ASP.NET MVC application (Site use to be decided later eg. Planner, task list etc.)
2. Referencing the components needed for jQuery and Bootstrap
3. What is SCSS and how to set it up and use it in a web application
4. Using Razor and creating your views
4. Using plugins to enhance your site (example of Isotope plugin will be used https://isotope.metafizzy.co/)
5. Testing the responsive site layout across devices using Chrome
6. Debugging your jQuery using Chrome Developer Tools
7. Using serverless computing to enhance your application’s functionality (example: creating PDF documents using DocRaptor or similar https://docraptor.com/)
Chapter 5: Getting started with .NET Core 3.0
Chapter Goal: This chapter will serve as an introduction to .NET Core using version 2.1
No of pages: 20 – 30 (Depends on the length of the first section – running on Linux)
Sub - Topics:
1. Create an ASP.NET Core MVC application
2. Running your ASP.NET Core MVC application on Linux
3. Upcoming features of .NET Core 3.0
Chapter 6: Being more productive in Visual Studio 2019
Chapter Goal: Discuss some of the features available to developers as well as tips and tricks of Visual Studio 2019 that make a developer more productive.
No of pages: 30
1. Better searching in Visual Studio 2019
2. Using live unit tests in Visual Studio 2019
3. Generate classes from XML and JSON
4. Using NuGet to add functionality to your projects
5. Debugger improvements with Visual Studio 2019
6. Visual Studio Live Share
7. Remote debugging
8. Visual Studio IntelliCode using AI
9. Using Visual Studio Diagnostics Tools
10. Converting for each loops to LINQ
Dirk Strauss is a software developer and Microsoft .NET MVP from South Africa with over 13 years of programming experience. He has extensive experience in SYSPRO Customization (an ERP system), with C# and web development being his main focus. He currently works as a full stack developer with Embrace. He studied at the Nelson Mandela University where he wrote software part time to gain a better understanding of the technology. He remains passionate about writing code and imparting what he learns with others.
Become a more productive programmer by leveraging the newest features available to you in C#. This book highlights the new language features available to you and how to use these and other tools such as Bootstrap, SCSS, and jQuery to enhance your web applications.
Exploring Advanced Features in C# starts with some of the new features of C# 7 such as how to implement local functions, tuples and generalized async return types. The book also looks at C# 8, where the author demonstrates how to implement nullable reference types, recursive patterns, ranges, indicies, switch expressions, and many more. Next, you go through some of the distinct features of C# that might often be overlooked such as generics, asynchronous programming, and dynamic types. The author demonstrates how to implement these features through clear and concise examples.
Next, you’ll discuss creating responsive web applications using ASP.NET Model View Controller (MVC) where you’ll learn how to combine Bootstrap with jQuery and SCSS to create interactive web applications with a great-looking, user-friendly UI. Moving forward, you will create and run applications on the latest .NET Core version 3.0 as well as explore some of the features of .NET Core 3.0. Finally, you will go through the tips and tricks of Visual Studio 2019 that make you more productive.
After reading the book, you will be able to implement new features available in C# and learn how to enhance your application development using ASP.NET MVC and .NET Core.
You will:
Implement the new features available in C# 7
Enhance your web applications using ASP.NET MVC, Bootstrap, SCSS, and jQuery
See what C# 8 has to offer with clear code examples