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

weixin_38062262 2019-09-12 03:53:37

我今天正在通过一个MVC4教程,看到用户以不同于以前的方式实现了一个选择。他的代码是: 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更好吗? 感谢您的阅读!








...全文
103 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38095754 2019-09-12
  • 打赏
  • 举报
回复

e.ToList<T>()是引擎盖下实现为: return new List<T>(e); 而且List<T>(IEnumerable<T> e)构造实际上只是调用this.AddRange(e)内部。 换句话说,这两个代码将以完全相同的方式完成同样的事情。

435

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧