c# - 在 C# 数组中有空索引是不好的做法吗?
问题描述
我在 C# 中有一个二维数组,其中包含数百个对象的数据。如果我用于填充数据的数组索引值从大于 0 的值开始,将其前面的索引留空,我是否会失去所有空数组空间的性能?
例如,如果我有一个数组:
Object[,] objectArray = new Object[1000, 1000];
我用对象填充索引 x: 500-999 && y:500-999,并将索引 0-499 留空,我是在失去性能还是内存,还是可以忽略不计。
随着程序的运行,我将来可能需要索引,但在程序的大部分生命周期中,它们将是空的。(对于上下文,空白区域是游戏中玩家可以探索的瓷砖,使用索引作为坐标)
我应该只创建一个新数组并在需要时填充它吗?
编辑以更具体地针对我的情况。
解决方案
不,您并没有失去性能,只是失去了可以忽略不计的内存量。
事实上,只要你有内存,这样的数组将比在存在和不存在的情况下查找更小的数组更有性能。(有根据的猜测,每个对象将是大约 8-16 个字节。)
推荐阅读
- typescript -
在启用 checkJs 的 VScode 中使用 ts(2605) - c# - 为什么我必须从 Controls 中删除一个控件并重新添加它才能再次显示?
- python-3.x - 关于 Pyomo 提供的数学函数的问题
- python - 如何从另一个模型的字段中读取值?
- javascript - DropzoneJS Preview Image 填满整个容器
- android - 已弃用适用于 Android 的 Paypal 集成
- google-cloud-bigtable - 使用部署管理器部署 Google Cloud Bigtable
- php - 自定义 PHP 表单抛出错误 (Wordpress)
- ios - UIViewController xib 文件包含一个带有自定义单元格的集合视图
- statistics - 如何正确阅读此茎叶图?