C# 11の最新プレビュー版の新機能は?リリース情報や利用方法を解説!
thumb_c#11_01
C# 11の最新プレビュー版の新機能は?リリース情報や利用方法を解説!
アンドエンジニア編集部
2022.12.24
この記事でわかること
C#は、.NETやVisual Studioで標準的に利用できる汎用プログラミング言語です
C# 11の最新プレビュー版は、Visual Studio 2022 バージョン 17.3または.NET 7 SDKのプレビュー版に対応します
C# 11が対応する.NET 7は、2022年11月の正式リリースを予定しています

C#11の最新プレビュー版が公開

img_c#11_01

マイクロソフト社は2022年8月22日のブログにおいて、C# 11がまもなく完成することを明らかにしました。最新バージョンのプレビュー版では、.NET 7の最終版に近づいており、多くの機能が実装されています。

【参考】:.NET Blog C# 11 preview

ブログでは、関連する機能としてVisual Studio 2022の17.1や17.2をカバーし、最新の17.3の新機能についても解説しています。C# 11のプレビュー機能全てを試すには、Visual Studio 2022 バージョン 17.3または.NET 7 SDKのプレビュー版が必要です。

C#とは

C#とは、C言語の構文を参考にし、C++とJavaをベースにマイクロソフト社によって開発されたプログラミング言語を指します。.NET Frameworkと呼ばれるマイクロソフト社のフレームワークで用います。C言語やC++からの改良点があるものの、言語仕様は.NET Frameworkのバージョンに依存しています。

【参考】:C#

C#とは?できることやメリット・デメリットについて解説!

このほかにC#.NETという言い方もありますが、C#.NETは.NETを用いたC#の開発環境を表しますので、C#の開発環境と同義語と考えて差し支えありません。

.NETとは

.NETとは、.NET Frameworkの略称で、マイクロソフト社が開発したアプリケーションの開発・実行基盤を指します。.NET Frameworkはバージョン4.8でメジャーアップデートを終了するとアナウンスされました。

これまでオープンソース製品を.NET Coreと命名しリリースしていましたが、.NET Framework終了に伴いオープンソースへのシフトを進めています。オープンソース版のバージョン5以降からは、”Core”を名称から外し、.NET 5や.NET 6などと呼んでいます。

【参考】:.NET Core is the Future of .NET

C#11の新機能

img_c#11_02

C# 11の正式リリースに向けて、Visual Studioの対応も進められています。最新バージョンであるVisual Studio 17.3に対応する機能が提供されます。

Visual Studio 2022の新機能がIDEで歴代最高な理由

具体的には、以降で紹介する3点を中心に開発が進められています。追加されたプレビュー機能を使用する場合は、コンパイラのLangVersionでpreviewを指定して使用します。

【参考】:Visual Studio 2022 バージョン 17.3 リリース ノート 【参考】:セッション C# 11 の最新情報 【参考】:C# 11 の新機能

オブジェクトの初期化

コンストラクタとオブジェクトの初期化を、mutable(可変)/immutable(不変)のメンバーに関わらず、簡単に行えるようになります。SetsRequiredMembers属性を使用し、必須メンバーを設定します。

【参考】:C#11 Docs 必須メンバー

汎用数値演算のサポート

統計や機械学習など、数値演算を多用するアプリケーション向けに、複数の数値型に対して1度にアルゴリズムを記述することができます。右シフトの符号なし演算子が追加され要件が緩和されるほか、インターフェースに静的な抽象メンバや仮想メンバが追加されました。

【参考】:C#11 Docs ジェネリック型数値演算のサポート

エンジニアなら知っておくべき!機械学習とディープラーニングの違いとは?

開発生産性の向上

nameof 演算子が、メソッドまたはパラメータ宣言上の属性でメソッドパラメータの名前を指定できるようになります。この拡張 nameof スコープ機能は、null 状態の分析に用いる属性を追加する際に有効です。

【参考】:C#11 Docs 拡張 nameof スコープ

C#のリリース情報

img_c#11_03

2002年にC# 1.0がはじめてリリースされ、.NET Framework 1.0が開発フレームワークとして登場しました。これまでC#は登場以来、Visual Studioと.NET Frameworkのバージョンアップに合わせて機能拡張を行っています。

C#の初期バージョンはJavaに似た仕様で、Javaの置換を狙っていました。バージョン 2.0以降は徐々に改良が加えられ、.NETの開発環境で利用される汎用的なオブジェクト指向言語としての機能拡張が進んでいきました。現在では、.NETの中心的な役割を果たしています。

【参考】:C# の歴史

Javaでできることとは?メリット・デメリットについても解説!

C#の最新バージョンとロードマップ

C#は.NETと密接に関係しています。.NETのリリース計画を見ると、正式リリースされているC# 10が対応する.NET 6は、長期サポート(LTS:Long Term Support)で約1〜2カ月に1回のペースでリリースが行われる予定です。

C# 11が対応する.NET 7は、2022年11月の正式リリースを予定しています。次期バージョンの.NET 8は、長期サポート(LTS)として2023年11月にリリースの予定です。C# 12もこのリリース計画に従って開発される見込みです。

【参考】:.NET Release Schedule

C# 11の利用方法

img_c#11_04

C#は.NETと密接なつながりがあり、.NET 7に対応するよう開発されています。利用するには最新のVisual Studio 2022 Previewをダウンロードして.NET 7プレビュー版をインストールするか、.NET 7の最新プレビュー版を単体でインストールする必要があります。

【参考】:Visual Studio 2022 プレビュー 【参考】:.NET のダウンロード

Visual Studio 2022 for Macプレビュー6の開発状況を解説!

C#のコード開発

C#のコード開発ですが、最初に以下の「最初の C# コードを記述する」で.NETエディタを使うとよいでしょう。こちらはブラウザのみで動作します。同じ編集・実行の操作は、「ブラウザー内 .NET チュートリアル」でも確認できます。

【参考】:最初の C# コードを記述する 【参考】:ブラウザー内 .NET チュートリアル

最初に挑戦するHello Worldですが、とてもシンプルで以下のコードだけで動作します。

Console.WriteLine("Hello World!");

通常は、メインとなるMainメソッドを記述しますが、C# 9以降では上記の通り省略可能で、シンプルに記述できるメリットがあります。基本的なコードの作成ができたらVisual Studioを使い、より効果的なコード開発を行うのが良いでしょう。

コンパイラのバージョン

コンパイラのバージョンを確認する方法ですが、C#のコンパイラはcsc.exeが用いられます。”csc /?”コマンドを実行すると、バージョン番号がターミナルに表示されます。

このほか、お使いの.NETとVisual Studioのバージョンが分かればC#のバージョンも分かります。C#は.NETやVisual Studioと密接に関係しますので、C# 9が.NET 5およびVisual Studio 2019 16.8、C# 10が.NET 6およびVisual Studio 2022 17.0で利用できます。

2022年9月時点では、C# 11はプレビュー版で提供され、.NET 7プレビュー版とVisual Studio 2022 17.3が連携します。

C#のバージョン管理

C#のバージョン管理ですが、.NETのバージョン管理方法に従います。具体的には、メジャー・マイナー・ビルド・リビジョンのバージョンコンポーネントで構成されています。少なくともメジャーとマイナーがあればバージョンを管理できます。

メジャーは、下位互換性が想定できない場合、数字を加算します。マイナーは下位互換性を保ちつつ、大幅な機能拡張がある場合に加算します。ビルドは、同じコードを再コンパイルした際に変更となります。リビジョンは、同等機能でセキュリティホールが修正された場合等に更新されます。

【参考】:C# でのバージョン管理 【参考】:.NET Docs Version クラス

ソフトウェアを開発する際には、AssemblyVersionAttributeクラスで番号を割り当てます。Visual Studioで新しいプロジェクトを作成する時に、アセンブリバージョンを設定することもできます。

C#をさらに理解するには

C#をさらに理解するには、.NETやVisual Studioを使ってみることをおすすめします。.NET のドキュメントサイトでは、C#で必要とされるAPI リファレンスやサンプル コード、チュートリアルなどが掲載されています。Visual Studioは、インストールするだけでC#のコード作成からコンパイル、実行までの一連の操作が可能です。

【参考】:.NET のドキュメント 【参考】:Microsoft のテクニカル ドキュメント

.NET環境ではC#がおすすめのプログラミング言語

img_c#11_05

C#は、.NETとVisual Studioを用いて標準的に利用できる汎用プログラミング言語です。.NETは、Windows環境を中心にバージョンアップを重ねてきましたが、オープンソース版が登場した現在ではクロスプラットフォームで稼働します。

マイクロソフト社のフレームワークとの親和性を考えると、コード開発に利用する価値は高いでしょう。

気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT