共用方式為


如何:將位元組陣列轉換成整數 (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: {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# 程式設計手冊)