我需要在 Windows Azure 中存储 bool 数据。我想让这些占用的空间尽可能小。我拥有大约 15 个字段,其值为 true 或 false。
field_1 = true;
field_2 = true;
field_a = false;
field_xx = true;
我有一个想法,我可以采用这些,将 true 和 false 转换为 1 和 0,然后存储为字符串,例如 1101。有没有一种简单的方法可以执行此编码,然后在获取数据时取消编码出去?请注意,字段名称都不同,因此我无法使用花哨的 for 循环来遍历字段名称。
最佳答案
int bits = (field_1 ? 1 : 0) | (field_2 ? 2 : 0) | (field_3 ? 4 : 0) | (field_4 ? 8 : 0) | ...
field_1 = (bits & 1) != 0;
field_2 = (bits & 2) != 0;
field_3 = (bits & 4) != 0;
field_4 = (bits & 8) != 0;
...
关于c# - 在c#中存储 bool 数据时如何节省空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6347219/