ASP.NET Core MVC:如何更简洁创建空NewModel列表?
创建指定数量空NewModel实例的List的简洁写法
这里有几种比for循环更简洁的写法,基于LINQ实现,且能保证每个元素都是独立的空NewModel实例:
方法一:Enumerable.Repeat + Select
用Repeat生成指定次数的占位符序列,再通过Select每次创建新实例:
// 生成10个独立空实例 var newModels = Enumerable.Repeat(0, 10) .Select(_ => new NewModel()) .ToList();
方法二:Enumerable.Range + Select
利用Range生成连续整数序列,再映射为新的NewModel实例:
// 生成20个独立空实例 var newModels = Enumerable.Range(1, 20) .Select(_ => new NewModel()) .ToList();
重要提醒
别直接写Enumerable.Repeat(new NewModel(), 10).ToList()——这种写法会让列表里所有元素指向同一个NewModel对象,修改其中一个会影响全部,这几乎不是你想要的效果。必须通过Select确保每次都创建新实例。
内容的提问来源于stack exchange,提问作者Diego
相关产品推荐
相关产品推荐

