# C# 15

Published articles for C# 15.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## C# 15 Union Types for API Results: Examples, Trade-Offs, and Migration

DevFeed: [C# 15 Union Types for API Results: Examples, Trade-Offs, and Migration](<https://devfeed.tech/articles/c-15-union-types-for-api-results-examples-trade-offs-and-migration-92884.md>)

Original publisher: [Read original article](<https://www.syncfusion.com/blogs/post/csharp-15-union-types-api-results>)

Author: Arunachalam Kandasamy Raja

Published: 2026-10-21T14:17:46Z

Content type: article

Language: en

Sources: [Syncfusion](<https://devfeed.tech/sources/syncfusion-blogs.md>)

Topics: [union types](<https://devfeed.tech/topics/union-types.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [business](<https://devfeed.tech/tags/business.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [c-sharp-15-union-types](<https://devfeed.tech/tags/c-sharp-15-union-types.md>), [c-sharp-discriminated-unions](<https://devfeed.tech/tags/c-sharp-discriminated-unions.md>), [c-sharp-result-pattern](<https://devfeed.tech/tags/c-sharp-result-pattern.md>), [c-sharp-union-types](<https://devfeed.tech/tags/c-sharp-union-types.md>), [c-sharp-union-types-in-asp-net-core](<https://devfeed.tech/tags/c-sharp-union-types-in-asp-net-core.md>), [cases](<https://devfeed.tech/tags/cases.md>), [compare](<https://devfeed.tech/tags/compare.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [examples](<https://devfeed.tech/tags/examples.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [migration](<https://devfeed.tech/tags/migration.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-development](<https://devfeed.tech/tags/net-development.md>), [net-development-asp-net-core-c-sharp-software-architecture-web-platform-apis-what-s-new](<https://devfeed.tech/tags/net-development-asp-net-core-c-sharp-software-architecture-web-platform-apis-what-s-new.md>), [net-sdk](<https://devfeed.tech/tags/net-sdk.md>), [results](<https://devfeed.tech/tags/results.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [types](<https://devfeed.tech/tags/types.md>), [union](<https://devfeed.tech/tags/union.md>), [union-types](<https://devfeed.tech/tags/union-types.md>), [web-api](<https://devfeed.tech/tags/web-api.md>), [web-platform-apis](<https://devfeed.tech/tags/web-platform-apis.md>), [what-s-new](<https://devfeed.tech/tags/what-s-new.md>)

### AI overview

C# 15 union types represent a fixed set of result cases and let the compiler flag unhandled cases in switch expressions. In the ASP.NET Core example, a service returns distinct order outcomes while a controller maps them to HTTP responses, keeping business logic separate from HTTP handling. Unions suit closed sets of expected outcomes; interfaces better fit extensible implementations, and an established Result<T> may already meet a project's needs. Generated unions store cases through object?, so value types may box; the text recommends measuring performance-sensitive use. JSON deserialization can be ambiguous when structural case shapes overlap, and explicit polymorphic serialization may suit APIs needing a stable discriminator. Because unions are preview features in the C# 15/.NET 11 development cycle, migration guidance is to update internal consumers first and check response contracts, OpenAPI, generated clients, and serialized or persisted data before removing an old result model.

### Source excerpt

Learn how C# 15 union types simplify ASP.NET Core API results, compare with existing C# patterns, and help you decide when to adopt them.

## Microsoft Releases .NET 11 RC1 with Go-Live Support, C# 15 and F# 11 as Default Language Versions

DevFeed: [Microsoft Releases .NET 11 RC1 with Go-Live Support, C# 15 and F# 11 as Default Language Versions](<https://devfeed.tech/articles/microsoft-releases-net-11-rc1-with-go-live-support-c-15-and-f-11-as-default-language-versions-26600.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/dotnet-11-rc-1-release/>)

Author: Almir Vuk

Published: 2026-09-15T07:11:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [releases](<https://devfeed.tech/topics/releases.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [F#](<https://devfeed.tech/topics/fsharp.md>), [SignalR](<https://devfeed.tech/topics/signalr.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [.NET MAUI](<https://devfeed.tech/topics/net-maui.md>), [native aot](<https://devfeed.tech/topics/native-aot.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [development](<https://devfeed.tech/tags/development.md>), [dotnet-11-rc-1-release](<https://devfeed.tech/tags/dotnet-11-rc-1-release.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [ios](<https://devfeed.tech/tags/ios.md>), [macos](<https://devfeed.tech/tags/macos.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [native-aot](<https://devfeed.tech/tags/native-aot.md>), [net](<https://devfeed.tech/tags/net.md>), [net-10](<https://devfeed.tech/tags/net-10.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-9](<https://devfeed.tech/tags/net-9.md>), [net-core](<https://devfeed.tech/tags/net-core.md>), [net-maui](<https://devfeed.tech/tags/net-maui.md>), [news](<https://devfeed.tech/tags/news.md>), [releases](<https://devfeed.tech/tags/releases.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [signalr](<https://devfeed.tech/tags/signalr.md>)

### AI overview

Microsoft released .NET 11 Release Candidate 1 with go-live support for production use. It makes C# 15 and F# 11 the default language versions and stabilizes features from the preview cycle. The release also extends testing across mobile and desktop targets, updates SignalR authentication refresh APIs, and adds SDK, ASP.NET Core, Blazor, and Native AOT-related improvements.

### Source excerpt

Last week, Microsoft has released .NET 11 Release Candidate 1, the first release candidate of the cycle, shipping with a go-live support license for production use. The release makes C# 15 and F# 11 the default language versions, extends dotnet test to mobile and desktop targets, finalizes the SignalR authentication refresh APIs, and improves Android build times in .NET MAUI. By Almir Vuk

## Use C# unions and closed hierarchies in ASP.NET Core

DevFeed: [Use C# unions and closed hierarchies in ASP.NET Core](<https://devfeed.tech/articles/use-c-unions-and-closed-hierarchies-in-asp-net-core-2954.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/dotnet/unions-and-closed-hierarchies-in-aspnetcore/>)

Author: Dmitrii Korolev

Published: 2026-09-10T17:00:00Z

Content type: tutorial

Language: en

Sources: [.NET Blog](<https://devfeed.tech/sources/net-blog.md>)

Topics: [C#](<https://devfeed.tech/topics/csharp.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Polymorphism](<https://devfeed.tech/topics/polymorphism.md>)

Tags: [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [blazor](<https://devfeed.tech/tags/blazor.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [closed-hierarchies](<https://devfeed.tech/tags/closed-hierarchies.md>), [json](<https://devfeed.tech/tags/json.md>), [minimal-api](<https://devfeed.tech/tags/minimal-api.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [net](<https://devfeed.tech/tags/net.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [polymorphism](<https://devfeed.tech/tags/polymorphism.md>), [signalr](<https://devfeed.tech/tags/signalr.md>), [system-text-json](<https://devfeed.tech/tags/system-text-json.md>), [union-types](<https://devfeed.tech/tags/union-types.md>)

### AI overview

Explains how C# unions and closed hierarchies model API values with a fixed set of possible types in ASP.NET Core. It contrasts unions with open inheritance-based polymorphism and describes System.Text.Json support.

### Source excerpt

Learn how C# unions and closed hierarchies work with System.Text.Json across ASP.NET Core Minimal APIs, MVC, SignalR, Blazor, and OpenAPI. The post Use C# unions and closed hierarchies in ASP.NET Core appeared first on .NET Blog.

## The pain of serializing unions and closed class hierarchies with System.Text.Json: Exploring the .NET 11 preview - Part 7

DevFeed: [The pain of serializing unions and closed class hierarchies with System.Text.Json: Exploring the .NET 11 preview - Part 7](<https://devfeed.tech/articles/the-pain-of-serializing-unions-and-closed-class-hierarchies-with-system-text-json-exploring-the-net-11-preview-part-7-51479.md>)

Original publisher: [Read original article](<https://andrewlock.net/exploring-the-dotnet-11-preview-7-the-pain-of-serializing-unions-and-closed-class-hierarchies-with-system-text-json/>)

Author: Andrew Lock

Published: 2026-09-01T10:00:00Z

Content type: tutorial

Language: en

Sources: [Andrew Lock | .NET Escapades](<https://devfeed.tech/sources/andrew-lock-net-escapades.md>)

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [system.text.json](<https://devfeed.tech/topics/system-text-json.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Closed hierarchies](<https://devfeed.tech/topics/closed-hierarchies.md>), [JSON](<https://devfeed.tech/topics/json.md>), [union types](<https://devfeed.tech/topics/union-types.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [closed-hierarchies](<https://devfeed.tech/tags/closed-hierarchies.md>), [json](<https://devfeed.tech/tags/json.md>), [net](<https://devfeed.tech/tags/net.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-11-c-sharp](<https://devfeed.tech/tags/net-11-c-sharp.md>), [net-11-preview-7](<https://devfeed.tech/tags/net-11-preview-7.md>), [preview](<https://devfeed.tech/tags/preview.md>), [rust](<https://devfeed.tech/tags/rust.md>), [system-text-json](<https://devfeed.tech/tags/system-text-json.md>)

### AI overview

This tutorial examines how System.Text.Json handles union types and closed class hierarchies introduced in .NET 11 and C# 15. It compares the two approaches, demonstrates serialization and deserialization, and documents errors and compatibility edge cases encountered in .NET 11 Preview 7.

### Source excerpt

In this post I discuss the System.Text.Json support for unions and closed hierarchies coming in .NET 11, the decisions made, and some of the sharp edges I hit

## .NET Conf 2026 - Save the Date

DevFeed: [.NET Conf 2026 - Save the Date](<https://devfeed.tech/articles/net-conf-2026-save-the-date-2948.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/dotnet/dotnet-conf-2026/>)

Author: Jon Galloway

Published: 2026-08-25T16:28:27Z

Content type: news

Language: en

Sources: [.NET Blog](<https://devfeed.tech/sources/net-blog.md>)

Topics: [.NET Conf](<https://devfeed.tech/topics/net-conf.md>), [.NET](<https://devfeed.tech/topics/net.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [Blazor](<https://devfeed.tech/topics/blazor.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Aspire](<https://devfeed.tech/topics/aspire.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>)

Tags: [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [blazor](<https://devfeed.tech/tags/blazor.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [community](<https://devfeed.tech/tags/community.md>), [conference](<https://devfeed.tech/tags/conference.md>), [event](<https://devfeed.tech/tags/event.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [net](<https://devfeed.tech/tags/net.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [speakers](<https://devfeed.tech/tags/speakers.md>), [union-types](<https://devfeed.tech/tags/union-types.md>), [virtual-event](<https://devfeed.tech/tags/virtual-event.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

Microsoft announces .NET Conf 2026, a free online event running November 10-12, featuring community sessions and the launch of .NET 11. The article previews updates across .NET, including C# 15 union types, .NET MAUI, ASP.NET Core, Blazor, OpenAPI, Aspire, and the official MCP C# SDK.

### Source excerpt

.NET Conf returns November 10-12, 2026, with three days of sessions, community, and the launch of .NET 11. The post .NET Conf 2026 - Save the Date appeared first on .NET Blog.

## Explore new features available in C# 15 preview

DevFeed: [Explore new features available in C# 15 preview](<https://devfeed.tech/articles/explore-new-features-available-in-c-15-preview-2949.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/dotnet/explore-csharp-15/>)

Author: Bill Wagner

Published: 2026-08-24T17:00:00Z

Content type: article

Language: en

Sources: [.NET Blog](<https://devfeed.tech/sources/net-blog.md>)

Topics: [C#](<https://devfeed.tech/topics/csharp.md>), [.NET](<https://devfeed.tech/topics/net.md>), [union types](<https://devfeed.tech/topics/union-types.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [closed-hierarchies](<https://devfeed.tech/tags/closed-hierarchies.md>), [dotnet](<https://devfeed.tech/tags/dotnet.md>), [features](<https://devfeed.tech/tags/features.md>), [net](<https://devfeed.tech/tags/net.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-11-preview-7](<https://devfeed.tech/tags/net-11-preview-7.md>), [union-types](<https://devfeed.tech/tags/union-types.md>)

### AI overview

An overview of the new features in C# 15, which ships with .NET 11. The article covers union types, closed hierarchies, the preview memory-safety redesign, and several smaller language changes.

### Source excerpt

C# 15 ships with .NET 11. It adds union types, closed hierarchies, a preview of the updated unsafe model, and a few smaller changes that remove everyday ceremony. The post Explore new features available in C# 15 preview appeared first on .NET Blog.

## .NET (OK, C#) finally gets union types🎉: Exploring the .NET 11 preview - Part 2

DevFeed: [.NET (OK, C#) finally gets union types🎉: Exploring the .NET 11 preview - Part 2](<https://devfeed.tech/articles/net-ok-c-finally-gets-union-types-exploring-the-net-11-preview-part-2-51474.md>)

Original publisher: [Read original article](<https://andrewlock.net/exploring-the-dotnet-11-preview-2-dotnet-gets-union-types/>)

Author: Andrew Lock

Published: 2026-05-19T10:00:00Z

Content type: article

Language: en

Sources: [Andrew Lock | .NET Escapades](<https://devfeed.tech/sources/andrew-lock-net-escapades.md>)

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [union types](<https://devfeed.tech/topics/union-types.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [net](<https://devfeed.tech/tags/net.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-11-c-sharp](<https://devfeed.tech/tags/net-11-c-sharp.md>), [preview](<https://devfeed.tech/tags/preview.md>), [programming](<https://devfeed.tech/tags/programming.md>), [types](<https://devfeed.tech/tags/types.md>), [union-types](<https://devfeed.tech/tags/union-types.md>)

### AI overview

The post examines union types in C# 15 and .NET 11 preview, covering their purpose, implementation, usage, and custom type creation. It also explains how unions can represent values from several potentially unrelated types and relates them to the result pattern.

### Source excerpt

In this post I discuss the support for union types released in .NET 11, how they're implemented, the choices made, and how to create your own