Microsoft delivers first preview of .NET 11 and C# 15

Published

Microsoft has released the first preview of .NET 11 and C# 15, as the first stage in the 2026 cycle which is set to deliver general availability in November, with progress on reduced usage of the Mono runtime and a host of new features. 

The .NET 11 release will be supported for two years, having only STS (standard term support).

The team has made further progress on reducing usage of Mono, the cross-platform implementation of .NET the company acquired with Xamarin a decade ago. Although nearly invisible to developers, the Mono runtime is still used for mobile apps built with MAUI (Multi-platform app user interface) and for WebAssembly. Although the Mono project was handed over to WineHQ. Microsoft still maintains a mono runtime as part of the .NET code.

In .NET 11, CoreCLR becomes a target in the .NET WebAssembly SDK, used by some varieties of Blazor. CoreCLR also becomes the default for Android builds, whereas in .NET 10 this is an experimental feature. CoreCLR is the main .NET runtime and this represents another step towards removing Mono dependencies from .NET. 

In the .NET 11 libraries, the update includes Zstandard compression support, with improved performance.

The C# language is updated with each new release of .NET, and .NET 11 will also bring C# 15. There will be plenty more changes to come, but in this preview developers can try out collection expression arguments, which enable customization of a collection object when it is created. In order to retain backward compatibility, the arguments which modify the collection, such as setting its capacity or a custom comparer, are included in a dummy element. An example is: 

List names = [with(capacity: values.Count * 2), .. values];

The language proposal explains that while technically a breaking change, this will only break existing code if there was a call to a pre-existing method called with. Even in that unlikely case, it could be fixed by using @with.

The approach is still, perhaps, inelegant; and the feature has provoked a lengthy debate in the C# repository. Two weeks ago Microsoft software developer Cyrus Najmabadi closed down the discussion stating that the LDM (language design meeting) had come up with "an implementation that addresses the core motivations well."

That did not stop a developer from commenting on the preview that "the syntax looks out of place in C#" and questioning whether it is "getting the language one step closer to all the C++ gotchas, with special cased syntax."

Fortunately C# remains nowhere close to the complexity of C++; but every improvement comes with a cost.

Find more details on the preview here.