Microsoft has unveiled the first preview of .NET 10, a major update to its flagship software development platform. Expected to be released in its final production form by November, .NET 10 brings a host of new features and improvements. These include the introduction of C# 14, along with significant enhancements to the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, and .NET MAUI. This preview marks an exciting milestone in the ongoing evolution of .NET, giving developers an early look at the upcoming capabilities.
One of the standout features in C# 14 is the enhanced support for System.Span<T>
and System.ReadOnlySpan<T>
, which are now first-class citizens in the language. This addition brings new implicit conversions that make working with these types more intuitive and natural for developers. These changes aim to improve performance without compromising safety, a key concern in language design. Additionally, C# 14 introduces the ability to use unbound generic types as arguments to the nameof
operator. The update also allows developers to apply parameter modifiers like scoped
, ref
, in
, out
, or ref readonly
to lambda expressions, further enhancing flexibility and usability.
.NET 10’s runtime also sees major improvements, particularly in optimizing performance and reducing abstraction overhead. Microsoft has focused on enhancing the Just-In-Time (JIT) compiler, which now has the capability to de-virtualize method calls, even for array interface methods. Additionally, the JIT will now stack-allocate small, fixed-size arrays of value types that do not include garbage collection pointers, as long as it can ensure the objects remain valid within the scope of the parent method. These changes are expected to boost both the performance and efficiency of .NET applications.
On the libraries front, .NET 10 introduces new APIs that work with spans of characters, providing more efficient ways to handle string normalization and helping to reduce unnecessary memory allocations. The update also includes APIs for creating left-handed transformation matrices for billboard and constrained billboard scenarios. Furthermore, improvements to ZipArchive
aim to enhance performance and reduce memory usage, making it even more efficient for handling compressed files. These enhancements reflect Microsoft’s continued commitment to refining and optimizing the .NET ecosystem for modern development needs.