共用方式為


如何將位元組陣組轉換成 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) 方法,將陣列中的四個位元組轉換成 int。 要 ToInt32(Byte[], Int32) 的第二個自變數 會指定位元組數位的起始索引。

備註

輸出可能會因計算機架構的結束度而有所不同。

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: {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

另請參閱