BitConverter.ToInt32 Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
ToInt32(ReadOnlySpan<Byte>) |
Převede bajtový rozsah jen pro čtení na celé číslo se 32bitovým signedm. . |
ToInt32(Byte[], Int32) |
Vrátí 32bitové celé číslo se signýmým kódem převedené ze čtyř bajtů na zadané pozici v bajtovém poli. |
ToInt32(ReadOnlySpan<Byte>)
- Zdroj:
- BitConverter.cs
- Zdroj:
- BitConverter.cs
- Zdroj:
- BitConverter.cs
Převede bajtový rozsah jen pro čtení na celé číslo se 32bitovým signedm. .
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
Parametry
- value
- ReadOnlySpan<Byte>
Rozsah jen pro čtení obsahující bajty, které se mají převést.
Návraty
32bitové celé číslo se signoumi sadou představující převedené bajty.
Výjimky
Délka value
je menší než 4.
Platí pro
ToInt32(Byte[], Int32)
- Zdroj:
- BitConverter.cs
- Zdroj:
- BitConverter.cs
- Zdroj:
- BitConverter.cs
Vrátí 32bitové celé číslo se signýmým kódem převedené ze čtyř bajtů na zadané pozici v bajtovém poli.
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
Parametry
- value
- Byte[]
Pole bajtů, které zahrnuje čtyři bajty, které chcete převést.
- startIndex
- Int32
Počáteční pozice v rámci value
.
Návraty
32bitové celé číslo se signoum sadou tvořené čtyřmi bajty začínající na startIndex
.
Výjimky
startIndex
je větší než nebo rovna délce value
minus 3 a je menší nebo roven délce value
minus 1.
value
je null
.
startIndex
je menší než nula nebo větší než délka value
minus 1.
Příklady
Následující příklad používá metodu ToInt32 k vytvoření Int32 hodnot ze čtyřbajtů pole a z horních čtyř bajtů osmibajtů pole. Používá také GetBytes(Int32) metody a ToInt32 k zaokrouhlení Int32 hodnoty.
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)
Poznámky
Metoda ToInt32 převede bajty z indexu startIndex
na startIndex
+ 3 na Int32 hodnotu. Pořadí bajtů v poli musí odrážet endianitu architektury počítačového systému. Další informace najdete v části Poznámky v tématu BitConverter.