genres.Add
我认为您的意思是它和(List<T>.Add
方法)之间的区别,Genre.Add
可能是变量Genre
上的静态方法或实例方法Genre
,两者都没有发布。
最终代码中没有行为差异,只是视觉上的差异。
不知道你为什么使用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> 的方式有什么区别?
同样在您的示例中,您会看到对象初始化器语法:
new Genre { Name = "Disco" }
这相当于:
var g = new Genre();
g.Name = "Disco";