【发布时间】: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