通过LINQ.ToList()使用List.AddRange是否有任何好处?

我今天正在通过一个MVC4教程,看到用户以不同于以前的方式实现了一个选择。他的代码是:通过LINQ.ToList()使用List.AddRange是否有任何好处?

var GenreLst = new List<string>(); 

var GenreQry = from d in db.Movies

orderby d.Genre

select d.Genre;

GenreLst.AddRange(GenreQry.Distinct());

ViewBag.movieGenre = new SelectList(GenreLst);

我看着它,并重写了它在我自己的方式为:

var genres = db.Movies 

.OrderBy(m => m.Genre)

.Select(m => m.Genre)

.Distinct()

.ToList();

ViewBag.MovieGenre = new SelectList(genres);

他GenreList变量没有在其他地方使用,所以我摆脱它。我的主要问题是他如何使用AddRange。 AddRange比ToList更好吗?

感谢您的阅读!

回答:

e.ToList<T>()是引擎盖下实现为:

return new List<T>(e); 

而且List<T>(IEnumerable<T> e)构造实际上只是调用this.AddRange(e)内部。

换句话说,这两个代码将以完全相同的方式完成同样的事情。

以上是 通过LINQ.ToList()使用List.AddRange是否有任何好处? 的全部内容, 来源链接: utcz.com/qa/264877.html

回到顶部