2

如果我的类使用 BitArray 和 BitConverter 类,两者的字节序是否总是匹配?

BitConverter 构造函数的文档明确提到它取决于它所使用的体系结构(几乎总是小端),但是BitArray(Byte) 构造函数文档只是说:

数组中的第一个字节表示位 0 到 7,第二个字节表示位 8 到 15,依此类推

但这并没有指定字节顺序方案是否适用于例如使用BitArray.CopyTo()

编辑

这可能很重要的一个例子是:

Dim MyBitArray As BitArray = New BitArray(16, false)
'...here some values might have been assigned to the bit array...
Dim ba As Byte() = New Byte() {0, 0}
MyBitArray.CopyTo(ba, 0) 'Copy bit array to byte array
Dim x As Int16 = BitConverter.ToInt16(ba, 0)'Converter expects little endian, but did CopyTo put the bytes into the array in the right order?
4

0 回答 0