如何使用将使用相同构造函数的相同元素初始化引用类型列表?

How can i initialize List of reference type with same elements that will use same constructor?

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

这是文件 class:

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

我无法更改此 class。

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

在一天结束时,我想要一个 List<File>,其中所有项目都是 Files 并且 Value 为 0

您可以使用 System.Linq Enumerable class:

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