Een bytematrix converteren naar een int (C#-programmeerhandleiding)
In dit voorbeeld ziet u hoe u de BitConverter klasse gebruikt om een matrix van bytes te converteren naar een int en terug naar een matrix van bytes. Mogelijk moet u converteren van bytes naar een ingebouwd gegevenstype nadat u bijvoorbeeld bytes uit het netwerk hebt gelezen. Naast de methode ToInt32(Byte[], Int32) in het voorbeeld bevat de volgende tabel methoden in de BitConverter klasse waarmee bytes (van een matrix van bytes) worden geconverteerd naar andere ingebouwde typen.
Type geretourneerd | Wijze |
---|---|
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) |
Voorbeelden
In dit voorbeeld wordt een matrix van bytes geïnitialiseerd, wordt de matrix omgekeerd als de computerarchitectuur little endian is (dat wil gezegd, de minst significante byte wordt eerst opgeslagen) en vervolgens de methode ToInt32(Byte[], Int32) aanroept om vier bytes in de matrix te converteren naar een int
. Het tweede argument voor ToInt32(Byte[], Int32) geeft de beginindex van de matrix van bytes aan.
Notitie
De uitvoer kan verschillen, afhankelijk van de endianiteit van de architectuur van uw computer.
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
In dit voorbeeld wordt de GetBytes(Int32) methode van de BitConverter klasse aangeroepen om een int
te converteren naar een matrix van bytes.
Notitie
De uitvoer kan verschillen, afhankelijk van de endianiteit van de architectuur van uw computer.
byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
// Output: byte array: 9A-50-07-0C
Zie ook
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor