我不能说我经常需要-您能否提供更多为什么要这样做的详细信息?我可能会将其作为静态方法放在帮助器类中:
public static class Lists{ public static List<T> RepeatedDefault<T>(int count) { return Repeated(default(T), count); } public static List<T> Repeated<T>(T value, int count) { List<T> ret = new List<T>(count); ret.AddRange(Enumerable.Repeat(value, count)); return ret; }}您 可以 使用,
Enumerable.Repeat(default(T), count).ToList()但是由于缓冲区大小调整,效率会很低。
请注意,如果
T是引用类型,它将存储
count为
value参数传递的引用的副本-
因此它们都将引用同一对象。这可能取决于您的用例,也可能不是您想要的。
编辑:如注释中所述,如果需要,您可以
Repeated使用循环来填充列表。那也会稍微快一点。我个人认为代码使用的是
Repeat更具描述性的,并且怀疑在现实世界中,性能差异是无关紧要的,但是您的工作量可能会有所不同。



