【问题标题】:Adding multiple copies of an item to a list [closed]将项目的多个副本添加到列表中[关闭]
【发布时间】:2012-06-21 01:51:38
【问题描述】:

我有一个 POCO 对象,根据输入的数字,我想将此对象复制到此对象类型的列表中。除了使用循环之外,还有其他优雅的方法吗?

【问题讨论】:

标签: c# asp.net .net c#-4.0


【解决方案1】:

简答:

list.AddRange(Enumerable.Repeat(item, count));

示例:

var list = new List<int>();

list.Add(0); // 0
list.Add(1); // 0, 1
list.Add(2); // 0, 1, 2

var item = 5;
var count = 3;

list.AddRange(Enumerable.Repeat(item, count)); // 0, 1, 2, 5, 5, 5

注意:

对于参考对象,这将添加相同的对象 x 次。 如果你想创建一个新对象x次并添加,你可以这样做:

list.AddRange(Enumerable.Repeat(0, count).Select(x => new MyObject()));

【讨论】:

    猜你喜欢
    • 2019-11-06
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多