私のクラスが BitArray クラスと BitConverter クラスを使用している場合、両方のエンディアンは常に一致しますか?
BitConverter コンストラクターのドキュメントでは、使用されているアーキテクチャに依存することが明示的に言及されていますが (ほとんどの場合リトルエンディアンです)、BitArray(Byte) コンストラクターのドキュメントには次のように書かれています。
配列の最初のバイトはビット 0 から 7 を表し、2 番目のバイトはビット 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?