Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向列表中添加项目_C#_Asp.net Mvc - Fatal编程技术网

C# 向列表中添加项目

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

我正在学习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 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
指定的自己的对象。除非我们看到类型课,否则什么都不能说:)你怎么这么肯定它没有被描述你怎么这么肯定它没有被描述