通过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