内联C#初始化多个实例

时间:2018-11-24 00:52:56

标签: c#

echo ENV001 | sed 'y/ENV/env/' | sed -e 's/00*//g'

输出是一行“ dd”,而不是3行,我不明白

1 个答案:

答案 0 :(得分:2)

如果您查看Enumerable.Repeat方法的文档:

  

生成一个包含一个重复值的序列。

因此它将给定值重复指定次数。它不会为每个重复重新创建相同的值。因此,在您的示例中,仅创建了一个Person实例并将其添加到列表中三次。

这等效于您的代码,可能会使其更加清晰:

var person = new Person();
List<Person> people = Enumerable.Repeat(person, 3).ToList<Person>();    

如果您想每次创建一个不同的实例,可以使用Select

Enumerable.Repeat(null, 3).Select(_ => new Person()).ToList();