我想用精确的大小初始化List<File>,所有元素应使用带参数的构造函数创建。

这是File类:

public class File
{
    public int Value;
    public File(int value)
    {
        Value = value;
    }
}


我不能更改此类。

我尝试使用Files = new List<File>(new File[filesCount]),但是每个元素都是null,但是至少我得到了List的大小。然后,我使用了Files.Foreach(x => x = new File(0)),并且正如预期的那样,它无法正常工作,因为我们无法更改迭代时获得的对象。

在一天结束时,我想要一个List<File>,其中所有项目均为FilesValue为0

最佳答案

您可以使用System.Linq Enumerable类:

var Files = Enumerable.Repeat(new File(0), filesCount).ToList();

关于c# - 如何使用将使用相同构造函数的相同元素初始化引用类型的列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57995854/

10-17 02:36