C# 向列表中添加项目
我正在学习MVC教程,突然发现:C# 向列表中添加项目,c#,asp.net-mvc,C#,Asp.net Mvc,我正在学习MVC教程,突然发现: public ActionResult Index() { dynamic genres = new List<Genre> { new Genre { Name = "Disco" }, new Genre { Name = "Jazz" }, new Genre { Name = "Rock" } }; return View(genres); } public Actio
public ActionResult Index()
{
dynamic genres = new List<Genre> {
new Genre { Name = "Disco" },
new Genre { Name = "Jazz" },
new Genre { Name = "Rock" }
};
return View(genres);
}
public ActionResult Index()
{
动态类型=新列表{
新类型{Name=“Disco”},
新类型{Name=“Jazz”},
新类型{Name=“Rock”}
};
返回视图(流派);
}
如果我使用
Genre.Add(“Disco”)代码>。。。相反谢谢。用汇编术语来说,没有。它实际上是糖的语法
dynamic genres = new List<Genre();
genres.Add(new Genre...
dynamictyres=新列表编译术语无。它实际上是糖的语法
dynamic genres = new List<Genre();
genres.Add(new Genre...
dynamic genres=new List老实说,现在还不清楚为什么要在这里使用dynamic
。但是如果你用
List<Genre> genres = new List<Genre>();
genres.Add(new Genre { Name = "Disco" });
genres.Add(new Genre { Name = "Jazz" });
genres.Add(new Genre { Name = "Rock" });
List-genres=newlist();
添加(新类型{Name=“Disco”});
添加(新类型{Name=“Jazz”});
添加(新类型{Name=“Rock”});
这也会产生同样的效果
请注意,它是Genre.Add
,而不是Genre.Add
我还建议,如果您创建一个使用名称的类型构造函数,它将使代码更简单——或者如果您仍然希望使名称部分更明确,您可以创建一个类型.FromName
静态方法。老实说,现在还不清楚为什么要在这里使用动态
。但是如果你用
List<Genre> genres = new List<Genre>();
genres.Add(new Genre { Name = "Disco" });
genres.Add(new Genre { Name = "Jazz" });
genres.Add(new Genre { Name = "Rock" });
List-genres=newlist();
添加(新类型{Name=“Disco”});
添加(新类型{Name=“Jazz”});
添加(新类型{Name=“Rock”});
这也会产生同样的效果
请注意,它是Genre.Add
,而不是Genre.Add
我还建议,如果您创建一个使用名称的类型构造函数,它将使代码更简单-或者如果您仍然希望使名称部分更明确,您可以创建一个类型.FromName
静态方法。我想您的意思是它与类型之间的区别。Add
(列表.Add
方法)作为Genre.Add
可能是Genre
上的静态方法,也可能是Genre
变量上的实例方法,两者都没有发布
最终代码中没有行为差异,只是视觉差异
不确定为什么要使用动态
(可能您正在寻找var
?),但不同之处在于,这是调用的,基本上是对调用进行糖化处理。手动添加:
var genres = new List<Genre> {
new Genre { Name = "Disco" },
new Genre { Name = "Jazz" },
new Genre { Name = "Rock" }
};
这相当于:
var g = new Genre();
g.Name = "Disco";
我想你的意思是它和流派之间的区别。Add
(列表。Add
方法)作为流派。Add
可能是流派
上的静态方法,也可能是流派
变量上的实例方法,两者都没有发布
最终代码中没有行为差异,只是视觉差异
不确定为什么要使用动态
(可能您正在寻找var
?),但不同之处在于,这是调用的,基本上是对调用进行糖化处理。手动添加:
var genres = new List<Genre> {
new Genre { Name = "Disco" },
new Genre { Name = "Jazz" },
new Genre { Name = "Rock" }
};
这相当于:
var g = new Genre();
g.Name = "Disco";
或者可能是Add
是一个静态的流派方法,它创建由字符串Name
指定的自己的对象。除非我们看到Genre类,否则什么都不能说:)或者可能是:Add
是Genre上的一个静态方法,它创建由字符串Name
指定的自己的对象。除非我们看到类型课,否则什么都不能说:)你怎么这么肯定它没有被描述你怎么这么肯定它没有被描述