C# 12 から導入されたCollection Expressionsは左辺の変数の型を考慮してくれるようなので、byteを宣言・初期化する時にとても便利だという話です。
次のような書き方はコンパイルエラーになります。これは、右辺の型がintと仮定されて、それをbyte[]へ代入しようとするためです。
byte[] arr = new [] { 1, 2, 3 };
次のようにする必要があるため、あんまり記載量が減っていなくて少し面倒でした。
byte[] arr = new byte[] { 1, 2, 3 };
Collection Expressionsを使うと、次の書き方ができます。
byte[] arr = [ 1, 2, 3 ];
だいぶすっきりした感じがします!この書き方の場合、左辺の型の初期化という扱いになるため、右辺に型を指定する必要がないのだと思います。
C#の文法であり .NETの実行バージョンに依存しないようなので、C# 12がデフォルトとなっている .NET 8はもちろん、言語バージョンを12.0以上に上げれば古い .NETでも使えるようです。
ちょっとしたことですが、とても便利だと思います。使っていきましょう!
便利だと思った側面だけを紹介しましたが、詳しく知りたい人はMSオフィシャルのドキュメントをどうぞ。コレクション式 (コレクション リテラル) - C# reference | Microsoft Learn