Visual Studio 2019 登場!
なんと、プロジェクト作成時の言語バージョンの規定値が『サポートされる最新の C# マイナーバージョン』になっている!
なぜ今までこうなっていなかったんだ的な機能なんですが、個人的にはとてもうれしい。
最新版を使いたい人にとっては、マイナーバージョンであれ公式リリースされたC#は常に取り込みたく、なぜ最新を選んだのに「C#7.0」で止まるんだろう、なんて常日頃思っていました。破壊的変更には慎重なはずのC#ですから、言語のマイナーバージョンアップくらいで既存のコードにダメージはほとんどないですし。
もちろん、latestmajor
設定にすれば今まで通りの設定になりますし、言語バージョンに対して保守的な場所では特定の C# バージョンを選ぶことができます。そんな場合はプロジェクト作成時に必ず設定を行いましょう。
C#8.0は?
ちなみに、C#8.0 は未だにプレビューバージョンですが、これは既定路線。
再帰パターン、非同期ストリームあたりは問題なく動いているみたいですが、インタフェースの既定実装あたりはまだ搭載されてすらいなさそう。
null許容/非許容参照型は、表面だけ触ると動いているようにみえる(何か記事を書きたい)けれど、大規模なプロジェクトできちんと動くかが重要なので、その辺が詰められているのかはまだよく分かりません。