バイト配列を大きなビットフィールドとして扱うことを可能にする組み込みクラスまたは.NETに何かがありますか?
1322 次
1 に答える
7
BitArrayクラスを見てください。
以下は、バイト配列を使用するときに何が起こっているかを説明する例です。
byte[] myBytes = new byte[5] { 1, 2, 3, 4, 5 };
BitArray myBA3 = new BitArray( myBytes );
Console.WriteLine( "myBA3" );
Console.WriteLine( " Count: {0}", myBA3.Count );
Console.WriteLine( " Length: {0}", myBA3.Length );
Console.WriteLine( " Values:" );
PrintValues( myBA3, 8 );
public static void PrintValues( IEnumerable myList, int myWidth )
{
int i = myWidth;
foreach ( Object obj in myList )
{
if ( i <= 0 )
{
i = myWidth;
Console.WriteLine();
}
i--;
Console.Write( "{0,8}", obj );
}
Console.WriteLine();
}
このコードは、次の出力を生成します。
myBA3
Count: 40
Length: 40
Values:
Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7
True False False False False False False False
Bit8 Bit9 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 ... and so on
False True False False False False False False
True True False False False False False False
False False True False False False False False
True False True False False False False False
于 2011-01-21T16:33:04.207 に答える