Become a better C# programmer: timeless, targeted, timely
You’re an intermediate to advanced C# programmer, and you know how important it is to stay up to date. However, you keep wondering if you’re effectively using all the new features and fundamental aspects of C# and .NET.
We all develop habits, and you'll be at your best if you constantly examine those habits. Keep the ones that make you better and change the ones that are holding you back. This workshop uses three themes to guide you on that journey.
You’ll examine and refresh your assumptions about C#. Are you sure that your assumptions are correct, and aren’t setting you up for nasty surprises? Learn more about timeless aspects of C# and how to avoid pitfalls when you use everyday techniques like:
- Garbage collection and managing managed memory
- The intricacies of method overloads
- Avoiding issues with numbers and dates
Then you’ll take a deep dive into a set of techniques you can use to make your code better. Better means shorter, easier to comprehend, and more robust. You’ll learn more about each of these techniques and how they work together:
- Generics, iterators, and interfaces
- Pattern matching
- Functional techniques in C#
And finally, you’ll learn about new features and practices. The tools you use every day have evolved to support code that is easier to create and significantly less error-prone. Learn how .NET is evolving, and how to incorporate these features into your daily work, or plan your upgrade strategy:
- Nullable reference types to reduce exceptions
- Editor tools to enforce code style
- Async streams for responsive apps
- Index and range syntax for simplicity
This workshop will be a combination of presentations, thought experiments and hands-on exercises. Most of the material can be applied to older versions of C# (most is also valid for Visual Basic.NET), but you’ll want a laptop with C# 7.3 or C# 8.0 for the workshop. You have one of these installed on your machine if you have Visual Studio 2017 Update 9, Visual Studio 2019, or .NET Core 3.0.
The goals of this workshop are to give you skills and ways of thinking that will make you a better C# programmer immediately, and approaches which you can use to continually improve.
Kathleen loves to code and loves to teach and talk about code. She’s written tons of articles and a book, and has spoken at various developer conferences around the world. She’s on the .NET Core Team at Microsoft, where she works on the .NET Core CLI and SDK. If you’re not sure what all those acronyms mean… just ask her. She’s always ready to help developers take the next step in exploring the wonderful world we call code.
Bill is one of the world’s foremost C# developers and a member of the ECMA C# Standards Committee. He is President of the Humanitarian Toolbox, has been awarded Microsoft Regional Director and .NET MVP for 10+ years, and was recently appointed to the .NET Foundation Advisory Council. He is currently with Microsoft, working on the .NET Core content team. He creates learning materials for developers interested in the C# language and .NET Core.