C# 15でついにunion型が追加決定
मूल शीर्षक: .NET (OK, C#) finally gets union types
यह क्यों महत्वपूर्ण है
C#開発者の長年の要望が実現し、型安全性を保ちながら複雑なデータ構造を簡潔に表現可能になる
.NET 11プレビューでC# 15にunion型が実装されることが発表された。新しいunionキーワードにより、複数の関連しない型を安全に扱える。従来のResult<>パターンなどがより簡潔に記述可能になる。
Andrew Lock氏のブログによると、.NET 11(C# 15)でついにunion型のサポートが追加される。union型は関数型プログラミングで広く使われる基本的なデータ構造で、F#、TypeScript、Rustなどで利用可能だったが、C#では長年要望されながら未実装だった。新機能では「union」キーワードを使って複数の無関係な型を組み合わせることができる。例として、異なるプロパティを持つWindows、Linux、MacOSのrecord型を「public union SupportedOS(Windows, Linux, MacOS);」のように定義できる。従来は基底クラスの作成、object型の使用、タグ値による管理などの回避策が必要だったが、union型により型安全性を保ちながら複数型を扱えるようになる。Result<TSuccess, TError>パターンなど、成功または失敗を表現する際の実装もより簡潔になる見込み。