gpt4 book ai didi

c# - Linq重复创建空对象?

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:28 26 4
gpt4 key购买 nike

有没有办法做到以下几点:

var newObjects = Enumerable.Repeat(new MyClass(), 10);
myList.AddRange(newObjects);

上面显然不行,因为同一个实例被添加了10次。但是,是否有类似的东西可以使用,或者我是否需要使用 for 循环?

最佳答案

一个简单的解决方案是在 Enumerable.Repeat 中放置一个占位符,然后使用投影来构造您的实例:

var newObjects = Enumerable.Repeat(0, 10).Select(x => new MyClass());

注意:在您提供的示例中,您将立即使用 newObjects,因此将其设为 IEnumerable 应该没问题。通常,请注意不要多次枚举 newObjects,否则您可能会产生额外的 MyClass 意外实例的副作用。由于此表达式具有构造实例的副作用,因此最好立即使用 ToListToArray 实现它。

关于c# - Linq重复创建空对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36770752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com