哪个Dictionary键保存空格String或Int32

问题描述 投票:-1回答:1

我有大数据集,我需要Dictionary关键条目。键是7个数字,所以int16不适合。

我想节省空间,因为int32可以使用32位。

Dictionary<int32,.....>

那么如果我使用string,这会节省空间吗?因为我的string总是长度为7。

Dictionary<string,....>
c# dictionary hash hashmap
1个回答
2
投票

System.Int32int可以存储最多9位数的所有数字加上一些10位数字,并且需要4个字节。 System.Stringstring每个字符需要2个字节加上最后一个0字符的2个字节,存储长度(4个字节)的开销+与对象相关的开销,加上字典本身需要存储对字符串的引用,在64位系统上有8个字节。与int相比,字符串需要更多存储空间并且处理速度慢。

见:How much memory does a C# string take up?

用一个

Dictionary<int, TValue>
© www.soinside.com 2019 - 2024. All rights reserved.