【问题标题】:C# convert bool to byte[4]C# 将 bool 转换为字节 [4]
【发布时间】:2019-10-11 03:03:58
【问题描述】:

我需要转换一个 4 字节的布尔值以传输到服务器。

这是我的价值:

 bool DROIT_PRIO = false;

我已经尝试过这样的:

var TYPE_DROIT_ARRAY = BitConverter.GetBytes(DROIT_PRIO);

获得的结果(十六进制):00

预期结果:

错误:00-00-00-00

是的:01-00-00-00

我如何通过bytes[] 中的值来获得这个结果?

【问题讨论】:

  • 使用BitConverter.GetBytes并将获得的值存储在byte[4]数组中。
  • 使用Convert.ToInt32。没有 4 字节的布尔值,类型只需要 1 位。 4 或 8 个字节用于 bool,因为这是 32 或 64 位操作系统中的字长。
  • bool在c#中总是一个字节,它的低位用来表示它的值。
  • 你希望如何表现真实?
  • @Amy not always

标签: c# uwp


【解决方案1】:

为什么不简单地这样做呢?

bool DROIT_PRIO = false;
byte[] TYPE_DROIT_ARRAY = new byte[] { (byte)(DROIT_PRIO ? 0x1 : 0x0), 0x0, 0x0, 0x0 };

【讨论】:

    猜你喜欢
    • 2020-03-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    相关资源
    最近更新 更多