Microsoftは、最新の.NET 8およびVisual Studio 17.6プレビューリリースの一部として、C# 12言語の新しい機能拡張を最近明らかにしました。これらのアップデートには、非レコードクラスおよび構造体の1次コンストラクタ、任意の型に対するエイリアスの使用、ラムダ式パラメータのデフォルト値などが含まれます。
4月11日に発表された.NET 8 Preview 3には、これらのC# 12の新機能が含まれています。C# 12と.NET 8の両プラットフォームの一般提供は、今年11月に予定されています。また、最新のVisual Studio 17.6プレビュー版でも、C# 12の更新を確認することができます。
プライマリコンストラクタは、クラス宣言に直接パラメータを含めることができ、プロパティの初期化やメソッドやプロパティアクセサコードへの組み込みなど、クラス本体でパラメータを利用することができます。C# 9では位置指定構文の一部としてレコードに導入されましたが、C# 12ではこの機能が他の構造体やクラスにも拡張されています。
また、C#12の最新バージョンでは、エイリアスのサポートがあらゆる型に拡大されました。Microsoftは、using alias指令が、名前付き型だけでなく、あらゆる型のエイリアスに適用できることを明確にしています。これにより、タプル型、配列型、ポインタ型、またはその他の安全でない型のセマンティックエイリアスを作成することができます。
さらに、C#12ではラムダ式が強化され、パラメータにデフォルト値を定義できるようになりました。この構文とルールは、ローカル関数やメソッドに引数のデフォルト値を追加する場合と同じです。ラムダ式のデフォルト値は、ラムダ式を強化する上で重要な進歩であると説明されています。
Microsoftは、これらのC#の新機能に関するフィードバックを積極的に求めており、開発者は、専用のチャンネルを通じて、一次コンストラクタ、alias any type、およびラムダ式のデフォルト値に関する考えを共有することが推奨されています。
C# 12のアップデート以外にも、.NET 8 Preview 3では、ビルドパス、ワークロード、Microsoft.Extensions、およびコンテナに関する変更が行われています。また、Arm64用JITコンパイラの性能向上や、動的なProfile Guided Optimization(PGO)も提供される。2022年11月にリリースされた.NET 7は、C#の更新版を導入し、性能向上、コンテナとクラウドネイティブツーリング、.NET MAUIの大規模なアップグレードを伴い、他の.NETライブラリとフレームワークの中でも特に優れています。
従来のプログラミング言語やプラットフォームが進化を続ける中、AppMaster のような企業は、開発者にノーコードソリューションを提供し、ソフトウェア開発の複雑さを最小限に抑えることに注力しています。6万人以上のユーザーを持つAppMaster は、豊富なコーディング知識を必要とせず、バックエンド、ウェブ、モバイルアプリケーションを作成するための強力なプラットフォームであることを証明しています。詳細はstudio.appmaster.ioでご確認ください。