哪个字典键节省空间String或Int32

时间:2019-04-14 19:05:47

标签: c# dictionary hash hashmap

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

我正在考虑节省空间,因为int32可以使用32位。

Dictionary<int32,.....>

然后如果我使用string,会节省空间吗? 由于我的string的长度始终为7。

Dictionary<string,....>

1 个答案:

答案 0 :(得分:2)

<div class="choose_file"> <button type="button" class="pull-right btn btn-primary">Upload File</button> <input name="img" id="UploadFile" type="file"/> </div> <div class="choose_file"> <button type="button" class="pull-right btn btn-primary" style="margin-left:5px">Upload Folder</button> <input name="img" id="UploadFolder" type="file" webkitdirectory directory multiple/> </div> System.Int32可以存储最多9位数字加上10位数字的所有数字,为此需要4个字节。 intSystem.String每个字符需要2个字节,最后一个0字符需要2个字节,存储长度(4个字节)的开销+与对象相关的事物的开销,以及字典本身需要存储对该字符串的引用,该字符串在64位系统上具有8个字节。与string相比,该字符串需要更多的存储空间并且处理速度较慢。

请参阅:How much memory does a C# string take up?

使用

int