Aracılığıyla paylaş


Nasıl yapılır: byte Dizisini int'e Dönüştürme (C# Programlama Kılavuzu)

Bu örnek, nasıl kullanılacağını gösterir BitConverter sınıfı için bir bayt dizisi dönüştürmek için bir int sonra tekrar bir bayt dizisi.Örneğin, ağ bayt okuduktan sonra baytlar yerleşik veri türüne dönüştürmeniz gerekebilir.Ek olarak ToInt32(Byte, Int32) örnek yönteminde aşağıdaki tabloda listelenmiştir yöntemleri BitConverter Baytlar (bayt dizesi) diğer yerleşik türleri için dönüştürme sınıfı.

Döndürülen türü

Method

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)

Örnek

Bu örnek, bayt dizisini başlatır, bilgisayar mimarisi little-endian ise dizi tersine çevirir (diğer bir deyişle, en az önemli bayt önce depolanır), sonra çağırır ToInt32(Byte, Int32) dört bayt dizisi olarak dönüştürmek için yöntem bir int.İkinci bağımsız değişken için ToInt32(Byte, Int32) bayt dizisi başlangıç dizinini belirtir.

[!NOT]

Çıktı, bilgisayarınızın mimarisine endianess bağlı olarak değişebilir.

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) yöntemi, BitConverter dönüştürmek için sınıf adında bir int için bir bayt dizisi.

[!NOT]

Çıktı, bilgisayarınızın mimarisine endianess bağlı olarak değişebilir.

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

Ayrıca bkz.

Başvuru

BitConverter

IsLittleEndian

Türler (C# Programlama Kılavuzu)