Bayt dizisini int'e dönüştürme (C# Programlama Kılavuzu)

Bu örnek, bir bayt dizisini BitConverter int'e dönüştürmek ve bir bayt dizisine geri dönmek için sınıfını nasıl kullanacağınızı gösterir. Örneğin, ağdan baytları okuduktan sonra baytlardan yerleşik bir veri türüne dönüştürmeniz gerekebilir. Örnekteki ToInt32(Byte[], Int32) yöntemine ek olarak, aşağıdaki tabloda sınıfındaki BitConverter baytları (bayt dizisinden) diğer yerleşik türlere dönüştüren yöntemler listelenmiştir.

Döndürülen tür Metot
bool ToBoolean(Byte[], Int32)
char ToChar(Byte[], Int32)
double ToDouble(Byte[], Int32)
short ToInt16(Bayt[], Int32)
int ToInt32(Bayt[], Int32)
long ToInt64(Bayt[], Int32)
float ToSingle(Byte[], Int32)
ushort ToUInt16(Byte[], Int32)
uint ToUInt32(Byte[], Int32)
ulong ToUInt64(Byte[], Int32)

Örnekler

Bu örnek bir bayt dizisi başlatır, bilgisayar mimarisi küçük endian ise diziyi tersine çevirir (yani, ilk olarak en az önemli bayt depolanır) ve ardından dizideki dört baytı öğesine intdönüştürmek için ToInt32(Byte[], Int32) yöntemini çağırır. ToInt32(Byte[], Int32) için ikinci bağımsız değişken bayt dizisinin başlangıç dizinini belirtir.

Not

Çıkış, bilgisayarınızın mimarisinin son durumuna bağlı olarak farklılık gösterebilir.

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

Bu örnekte, GetBytes(Int32) bir bayt dizisine dönüştürmek int için sınıfının yöntemi BitConverter çağrılır.

Not

Çıkış, bilgisayarınızın mimarisinin son durumuna bağlı olarak farklılık gösterebilir.

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

Ayrıca bkz.