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 |
|
char |
|
double |
|
short |
|
int |
|
long |
|
float |
|
ushort |
|
uint |
|
ulong |
Ö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