rksoftware

Visual Studio とか C# とかが好きです

C# 2.0 以降の新機能の確認 - C# 9.0 - ターゲットにより型指定された条件式

C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。

ターゲットにより型指定された条件式

 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/conditional-operator
 三項演算の型の解決が賢くなった。

// 以前はエラーになったコード。List<int> でも int[] でも IEnumerable<int> に代入できるはずだが、
// それ以前に三項演算の結果の型が推論できずにエラーになっていた。今は大丈夫
IEnumerable<int> list = true ? new List<int>() : new int[0];