Mads Torgersen

C# Lead Designer, .NET Team

Mads is the lead designer for the C# programming language, and an architect on the .NET team at Microsoft.

Post by this author

Welcome to C# 11

C# 11 is here! Bringing with it some highly anticipated features including string literals, generic math, required members, and much more.

C# 9.0 on the record

C# 9.0 on the record It's official: C# 9.0 is out! Back in May I blogged about the C# 9.0 plans, and the following is an updated version of that post to match what we actually ended up shipping. With every new version of C# we strive for greater clarity and simplicity in common coding scenarios, and C# 9.0 is no exception. One particular ...

Welcome to C# 9.0

Note: This post is out of date. Now that C# 9.0 has been released, an updated version can be found here. C# 9.0 is taking shape, and I'd like to share our thinking on some of the major features we're adding to this next version of the language. With every new version of C# we strive for greater clarity and simplicity in common coding ...

Embracing nullable reference types

Probably the most impactful feature of C# 8.0 is Nullable Reference Types (NRTs). It lets you make the flow of nulls explicit in your code, and warns you when you don't act according to intent. The NRT feature holds you to a higher standard on how you deal with nulls, and as such it issues new warnings on existing code. So that those ...

Default implementations in interfaces

Default implementations in interfaces With last week's posts Announcing .NET Core 3.0 Preview 5 and Visual Studio 2019 version 16.1 Preview 3, the last major feature of C# 8.0 is now available in preview. A big impediment to software evolution has been the fact that you couldn't add new members to a public interface. You would break ...

Do more with patterns in C# 8.0

Do more with patterns in C# 8.0 Visual Studio 2019 Preview 2 is out! And with it, a couple more C# 8.0 features are ready for you to try. It's mostly about pattern matching, though I'll touch on a few other news and changes at the end. More patterns in more places When C# 7.0 introduced pattern matching we said that we expected to add more ...

Take C# 8.0 for a spin

Take C# 8.0 for a spin Yesterday we announced the first preview of both Visual Studio 2019 (Making every developer more productive with Visual Studio 2019) and .NET Core 3.0 (Announcing .NET Core 3 Preview 1 and Open Sourcing Windows Desktop Frameworks). One of the exciting aspects of that is that you get to play with some of the features ...

Building C# 8.0

Building C# 8.0 The next major version of C# is C# 8.0. It's been in the works for quite some time, even as we built and shipped the minor releases C# 7.1, 7.2 and 7.3, and I'm quite excited about the new capabilities it will bring. The current plan is that C# 8.0 will ship at the same time as .NET Core 3.0. However, the features will ...

A (Belated) Welcome to C# 7.3

A (Belated) Welcome to C# 7.3 Better late than never! Some of you may have noticed that C# 7.3 already shipped, back in Visual Studio 2017 update 15.7. Some of you may even be using the features already. C# 7.3 is the newest point release in the 7.0 family and it continues themes of performance-focused safe code, as well as bringing some ...

Introducing Nullable Reference Types in C#

Today we released a prototype of a C# feature called "nullable reference types", which is intended to help you find and fix most of your null-related bugs before they blow up at runtime. We would love for you to install the prototype and try it out on your code! (Or maybe a copy of it! 😄) Your feedback is going to help us get the feature ...