共用方式為


HOW TO:將位元組陣列轉換為 int (C# 程式設計手冊)

更新:2007 年 11 月

這個範例會示範如何使用 BitConverter 類別,將位元組陣列轉換為 int,並轉換回位元組陣列。例如,您讀取了網路上的位元組之後,您可能需要將位元組轉換為內建資料型別。除了範例中的 ToInt32(array<Byte[], Int32) 方法以外,下表會列出 BitConverter 類別中的方法,這些方法會將位元組 (從位元組陣列) 轉換為內建型別。

傳回的型別

方法

bool

ToBoolean(array<Byte[], Int32)

char

ToChar(array<Byte[], Int32)

double

ToDouble(array<Byte[], Int32)

short

ToInt16(array<Byte[], Int32)

int

ToInt32(array<Byte[], Int32)

long

ToInt64(array<Byte[], Int32)

float

ToSingle(array<Byte[], Int32)

ushort

ToUInt16(array<Byte[], Int32)

uint

ToUInt32(array<Byte[], Int32)

ulong

ToUInt64(array<Byte[], Int32)

範例

這個範例會初始化位元組陣列,若電腦架構是位元組由小到大 (也就是說,先儲存較不重要的位元組) 時將陣列反向,然後呼叫 ToInt32(array<Byte[], Int32) 方法,將陣列中的四個位元組轉換為 int。ToInt32(array<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# 程式設計手冊)