在 c# 中,如果给定一个 List<T>
,是否有一种方法可以扩展它(在其容量内),并将新元素设置为null
?我希望能够像memset
一样使用某些方法。我不是在寻找简化的方法,我想要快速的代码。我知道在 C 中,此操作每个条目可能只需要1-3个汇编操作。
我找到的最佳解决方案是这个:
list.AddRange(Enumerable.Repeat(null, count-list.Count));
然而,那是使用 C# 3.0(<3.0 更优),可能会生成并评估枚举器。
我的当前代码使用:
while(list.Count < lim) list.Add(null);
那么这就是时间成本的起点。
这个问题背后的动机是,我需要设置第n个元素,即使它在旧Count之后。