次の方法で共有


方法: バイト配列を int に変換する (C# プログラミング ガイド)

次の例では、BitConverter クラスを使用してバイト配列を int に変換する方法、およびバイト配列に戻す方法を示しています。 ネットワークに接続せずにバイトを読み取った場合などは、その後バイトから組み込みデータ型への変換が必要になる場合もあります。 この例の ToInt32(Byte, Int32) メソッド以外にも、バイト (バイト配列) を他の組み込み型に変換するメソッドがあります。BitConverter クラス内のそのようなメソッドを次の表に示します。

戻される型

メソッド

bool

ToBoolean(Byte, Int32)

char

ToChar(Byte, Int32)

double

ToDouble(Byte, Int32)

short

ToInt16(Byte, Int32)

int

ToInt32(Byte, Int32)

long

ToInt64(Byte, Int32)

float

ToSingle(Byte, Int32)

ushort

ToUInt16(Byte, Int32)

uint

ToUInt32(Byte, Int32)

ulong

ToUInt64(Byte, Int32)

使用例

この例ではバイト配列を初期化します。コンピューター アーキテクチャがリトル エンディアンの場合 (つまり最下位バイトから先に格納される場合)、配列を反転します。次に、ToInt32(Byte, Int32) メソッドを呼び出して、配列内の 4 バイトを int に変換します。 ToInt32(Byte, Int32) の 2 番目の引数は、バイト配列の開始インデックスを指定します。

注意

出力は、コンピューターのアーキテクチャのエンディアンによって異なる場合があります。

byte[] bytes = { 0, 0, 0, 25 };

// If the system architecture is little-endian (that is, little end first), 
// reverse the byte array. 
if (BitConverter.IsLittleEndian)
    Array.Reverse(bytes);

int i = BitConverter.ToInt32(bytes, 0);
Console.WriteLine("int: {0}", i);
// Output: int: 25

この例では、BitConverter クラスの GetBytes(Int32) メソッドを呼び出して、int をバイトの配列に変換します。

注意

出力は、コンピューターのアーキテクチャのエンディアンによって異なる場合があります。

byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
// Output: byte array: 9A-50-07-0C

参照

関連項目

BitConverter

IsLittleEndian

型 (C# プログラミング ガイド)