Closed sano-suguru closed 6 years ago
ご提案ありがとうございます。
そうですね、この場合ですと、左辺の代入先はフィールドであり、型宣言が省略不可なので、ひるがえって、ご提案の初期化方法が使えますね。
近々、Blazor の v.0.6.0 が Release されそうなので、その対応の際に合せて本件対応しようと思います(ので、それが完了するまで、本 Issue は開けておきます)。
ご提案ありがとうございます。
追伸 new[] { .. } による初期化は、実は匿名型の割り当てではなく、これはこれで配列初期化の構文となります。 今回ご連絡頂いた箇所については、左辺の代入先に(フィールド)変数の型が明記されているので、ご提案いただいた「= {...}」でも、元の「= new[] {...}」でも、意味的には同じです。 ローカル変数などで変数宣言に「var」を用いる場合は、型推論の必要から、「= {...}」は不可となりますね。
// これは構文エラー
var devices = { new Device {...}, new Device {...}, ... };
// これなら OK
var devices = new[] { new Device {...}, new Device {...}, ... };
Blazor v.0.6.0 にあわせて自習書の改訂を実施しました。
下記のとおり、配列初期化のコードを変更しました。
以上で本 Issue は close します。 ご提案どうもありがとうございました。
Step7 デバイス一覧ページ - リスト化(繰り返し) 3.Devicesフィールドに適当なデータを割り当てます。
のソースについて
現在、配列の初期化に
new[] {...}
で匿名型を割り当てていますが、 以下のように一般的(?)な配列の初期化方法を使うのはいかがでしょうか?