c# - 在c#中存储 bool 数据时如何节省空间

标签 c# azure

我需要在 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/

相关文章:

java - 为任何给定大小的文件形成相等长度的 Base64 字符串

c# - 仅在垂直滚动时卡住 gridview 标题

azure - Connect-AzAccount 无提示

azure - 容器应该如何在没有 sudo 的情况下授予对 groupadd 的访问权限?

azure - 将存储数据从一个 Azure 帐户复制到另一个 Azure 帐户

c# - 如何将 Windows Phone 10 应用程序部署到设备?

c# - 我可以将构造函数参数传递给 Unity 的 Resolve() 方法吗?

azure - 使用 Azure 通知中心向个人用户发送通知

sql - Azure Bacpac 文件还原错误

c# - 在控制台关闭时运行代码?