c# - 创建新列表

标签 c# .net performance collections

创建新列表时,您是指定初始大小还是留空?我知道通过指定初始大小,您可以避免每次添加 x 个项目时列表都重新分配底层数组,但同时也增加了代码的冗长性。是否值得为您的代码增加冗长和复杂性以获得最小的性能提升。当该列表还需要一项而您忘记在初始化中添加一项时会发生什么,您仍然会遭受重新分配的性能开销,现在这个数字对新开发人员来说可能没有意义。

最佳答案

如果您对如何使用它有所了解,您应该始终指定一个初始大小,因为 C# 以四 (!) 的大小开始列表,并随着列表的增长将大小加倍。它只是不是微观优化,因为它只需要很少的努力就可以为 .Net 提供提示。可读性不是问题,特别是如果你可以避免 magic numbers .

关于c# - 创建新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/334725/

相关文章:

performance - 如果请求是异步的,为什么减少页面需要加载的 http 请求数会提高性能?

c - 提高求和的性能(C 版本)

c# - Linq to entities - 在查询中包含 foreach

c# - 如何在 C# 中为事件中心创建接收器以获取给定时间跨度的消息?

java - 如何检测 Active Directory 用户帐户的重命名或移动操作?

c# - 如何在 PropertyGrid TypeConversion 中获取旧值?

.net - WinRT 中 COM 的性能如何?

c# - WebBrowser 与网站的兼容性问题

c# - 为什么初始大小为 0 的 List<T>(Int32) 的 .Count?

.net - 在 Windows 8 上安装 .net 2.0 SDK