C# 哪个字典键保存空间字符串或Int32

C# 哪个字典键保存空间字符串或Int32,c#,dictionary,hash,hashmap,C#,Dictionary,Hash,Hashmap,我有大量的数据集,我需要字典关键条目。钥匙是7个数字,因此int16不合适 我想节省空间,因为int32可以使用32位 Dictionary<int32,.....> System.Int32或int可以存储最多9位的所有数字加上一些10位的数字,需要4个字节System.String或String每个字符需要2个字节加上结尾0字符的2个字节,存储长度的开销(4字节)+与对象相关的开销,再加上字典本身需要存储对字符串的引用,在64位系统上,字符串有8个字节。与int相比,字符串需要

我有大量的数据集,我需要
字典
关键条目。钥匙是7个数字,因此
int16
不合适

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

Dictionary<int32,.....>

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

见:

使用

字典

建议的7位字符串中的每个字符将至少存储为1个字节(8位),因此不会在二进制级别使用字符串节省空间。在这种情况下,Int32会更有效。是的,没错!!一个字符甚至可能有2个字节。
Dictionary<string,....>
Dictionary<int, TValue>