rksoftware

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

C# 2.0 以降の新機能の確認 - C# 9.0 - ターゲット型の新しい式

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

ターゲット型の新しい式

 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/new-operator
 new 式 という式が追加された。 型がわかっているところで new するときに型を書く必要がなくなった。

// 変数宣言
System.Collections.Generic.List<int> hoge1 = new();

// 引数
Fuga(new());
static void Fuga(System.Collections.Generic.List<int> hoge)
    => Console.WriteLine(hoge.GetType().FullName);

// 初期化子
System.Collections.Generic.List<int> hoge2 = new() { 0, 1, 2 };

class Class
{
    // フィールド
    internal static System.Collections.Generic.List<int> Hoge3 = new();
    // プロパティ
    internal static System.Collections.Generic.List<int> Hoge4 { get; set; } = new();
}