BitConverter.ToInt32 Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overloads
| Name | Description |
|---|---|
| ToInt32(Byte[], Int32) |
Retourneert een 32-bits geheel getal dat is geconverteerd van vier bytes op een opgegeven positie in een bytematrix. |
| ToInt32(ReadOnlySpan<Byte>) |
Converteert een bytespanne met het kenmerk Alleen-lezen naar een 32-bits geheel getal dat is ondertekend. |
ToInt32(Byte[], Int32)
Retourneert een 32-bits geheel getal dat is geconverteerd van vier bytes op een opgegeven positie in een bytematrix.
public:
static int ToInt32(cli::array <System::Byte> ^ value, int startIndex);
public static int ToInt32(byte[] value, int startIndex);
static member ToInt32 : byte[] * int -> int
Public Shared Function ToInt32 (value As Byte(), startIndex As Integer) As Integer
Parameters
- value
- Byte[]
Een matrix van bytes die de vier bytes bevat die moeten worden geconverteerd.
- startIndex
- Int32
De beginpositie binnen value.
Retouren
Een 32-bits ondertekend geheel getal dat wordt gevormd door vier bytes vanaf startIndex.
Uitzonderingen
startIndex is groter dan of gelijk aan de lengte van value min 3 en is kleiner dan of gelijk aan de lengte van value min 1.
value is null.
startIndex is kleiner dan nul of groter dan de lengte van value min 1.
Voorbeelden
In het volgende voorbeeld wordt de ToInt32 methode gebruikt om waarden te maken Int32 op basis van een matrix met vier bytes en van de bovenste vier bytes van een matrix met acht bytes. Ook worden de GetBytes(Int32) en ToInt32 methoden gebruikt om een Int32 waarde te afronden.
using System;
public class Example
{
public static void Main()
{
// Create an Integer from a 4-byte array.
Byte[] bytes1 = { 0xEC, 0x00, 0x00, 0x00 };
Console.WriteLine("{0}--> 0x{1:X4} ({1:N0})", FormatBytes(bytes1),
BitConverter.ToInt32(bytes1, 0));
// Create an Integer from the upper four bytes of a byte array.
Byte[] bytes2 = BitConverter.GetBytes(Int64.MaxValue / 2);
Console.WriteLine("{0}--> 0x{1:X4} ({1:N0})", FormatBytes(bytes2),
BitConverter.ToInt32(bytes2, 4));
// Round-trip an integer value.
int original = (int) Math.Pow(16, 3);
Byte[] bytes3 = BitConverter.GetBytes(original);
int restored = BitConverter.ToInt32(bytes3, 0);
Console.WriteLine("0x{0:X4} ({0:N0}) --> {1} --> 0x{2:X4} ({2:N0})", original,
FormatBytes(bytes3), restored);
}
private static string FormatBytes(Byte[] bytes)
{
string value = "";
foreach (var byt in bytes)
value += string.Format("{0:X2} ", byt);
return value;
}
}
// The example displays the following output:
// EC 00 00 00 --> 0x00EC (236)
// FF FF FF FF FF FF FF 3F --> 0x3FFFFFFF (1,073,741,823)
// 0x1000 (4,096) --> 00 10 00 00 --> 0x1000 (4,096)
open System
let formatBytes (bytes: byte []) =
bytes
|> Array.map (fun x -> $"{x:X2}")
|> String.concat ""
// Create an Integer from a 4-byte array.
let bytes1 = [| 0xECuy; 0x00uy; 0x00uy; 0x00uy |]
let int1 = BitConverter.ToInt32(bytes1, 0)
printfn $"{formatBytes bytes1}--> 0x{int1:X4} ({int1:N0})"
// Create an Integer from the upper four bytes of a byte array.
let bytes2 = BitConverter.GetBytes(Int64.MaxValue / 2L)
let int2 = BitConverter.ToInt32(bytes2, 4)
printfn $"{formatBytes bytes2}--> 0x{int2:X4} ({int2:N0})"
// Round-trip an integer value.
let original = pown 16 3
let bytes3 = BitConverter.GetBytes original
let restored = BitConverter.ToInt32(bytes3, 0)
printfn $"0x{original:X4} ({original:N0}) --> {formatBytes bytes3} --> 0x{restored:X4} ({restored:N0})"
// The example displays the following output:
// EC 00 00 00 --> 0x00EC (236)
// FF FF FF FF FF FF FF 3F --> 0x3FFFFFFF (1,073,741,823)
// 0x1000 (4,096) --> 00 10 00 00 --> 0x1000 (4,096)
Module Example
Public Sub Main()
' Create an Integer from a 4-byte array.
Dim bytes1() As Byte = { &hEC, &h00, &h00, &h00 }
Console.WriteLine("{0}--> 0x{1:X4} ({1:N0})", FormatBytes(bytes1),
BitConverter.ToInt32(bytes1, 0))
' Create an Integer from the upper four bytes of a byte array.
Dim bytes2() As Byte = BitConverter.GetBytes(Int64.MaxValue \ 2)
Console.WriteLine("{0}--> 0x{1:X4} ({1:N0})", FormatBytes(bytes2),
BitConverter.ToInt32(bytes2, 4))
' Round-trip an integer value.
Dim original As Integer = CInt(16^3)
Dim bytes3() As Byte = BitConverter.GetBytes(original)
Dim restored As Integer = BitConverter.ToInt32(bytes3, 0)
Console.WriteLine("0x{0:X4} ({0:N0}) --> {1} --> 0x{2:X4} ({2:N0})", original,
FormatBytes(bytes3), restored)
End Sub
Private Function FormatBytes(bytes() As Byte) As String
Dim value As String = ""
For Each byt In bytes
value += String.Format("{0:X2} ", byt)
Next
Return value
End Function
End Module
' The example displays the following output:
' EC 00 00 00 --> 0x00EC (236)
' FF FF FF FF FF FF FF 3F --> 0x3FFFFFFF (1,073,741,823)
' 0x1000 (4,096) --> 00 10 00 00 --> 0x1000 (4,096)
Opmerkingen
De ToInt32 methode converteert de bytes van index startIndex naar startIndex + 3 naar een Int32 waarde. De volgorde van bytes in de matrix moet de endianiteit van de architectuur van het computersysteem weerspiegelen. Zie de sectie Opmerkingen van BitConverter.
Zie ook
Van toepassing op
ToInt32(ReadOnlySpan<Byte>)
Converteert een bytespanne met het kenmerk Alleen-lezen naar een 32-bits geheel getal dat is ondertekend.
public:
static int ToInt32(ReadOnlySpan<System::Byte> value);
public static int ToInt32(ReadOnlySpan<byte> value);
static member ToInt32 : ReadOnlySpan<byte> -> int
Public Shared Function ToInt32 (value As ReadOnlySpan(Of Byte)) As Integer
Parameters
- value
- ReadOnlySpan<Byte>
Een alleen-lezen periode met de bytes die u wilt converteren.
Retouren
Een 32-bits ondertekend geheel getal dat de geconverteerde bytes vertegenwoordigt.
Uitzonderingen
De lengte is value kleiner dan 4.