栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何初始化列表 到给定的大小(而不是容量)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何初始化列表 到给定的大小(而不是容量)?

我不能说我经常需要-您能否提供更多为什么要这样做的详细信息?我可能会将其作为静态方法放在帮助器类中:

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
更具描述性的,并且怀疑在现实世界中,性能差异是无关紧要的,但是您的工作量可能会有所不同。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/421391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号