どちらも投稿されていない、変数の静的メソッドまたはインスタンスメソッドのように、それとgenres.Add(List<T>.Addメソッド)の違いを意味していると思います。Genre.AddGenreGenre
最終的なコードには動作上の違いはなく、視覚的な違いにすぎません。
なぜ使用しているのかdynamic(おそらく探しているのvarか?)はわかりませんが、違いは、これがコレクション初期化構文.Addと呼ばれることです。基本的には、手動で呼び出すよりも重要です。
var genres = new List<Genre> {
new Genre { Name = "Disco" },
new Genre { Name = "Jazz" },
new Genre { Name = "Rock" }
};
と同等です:
var genres = new List<Genre>();
genres.Add(new Genre { Name = "Disco" });
genres.Add(new Genre { Name = "Jazz" });
genres.Add(new Genre { Name = "Rock" });
コンパイラ.Addはあなたの場合にあなたのためにを出力します。
C#で新しいList <string>を作成するこれらの3つの方法の違いは何ですか?
また、あなたの例では、次のようなオブジェクト初期化構文が表示されています。
new Genre { Name = "Disco" }
これは次のようになります。
var g = new Genre();
g.Name = "Disco";