BitConverter.ToInt32 Método

Definição

Sobrecargas

ToInt32(Byte[], Int32)

Retorna um inteiro com sinal de 32 bits convertido de quatro bytes em uma posição especificada em uma matriz de bytes.Returns a 32-bit signed integer converted from four bytes at a specified position in a byte array.

ToInt32(ReadOnlySpan<Byte>)

Converte um intervalo de bytes somente leitura em um inteiro com sinal de 32 bits.Converts a read-only byte span into a 32-bit signed integer.

ToInt32(Byte[], Int32)

Retorna um inteiro com sinal de 32 bits convertido de quatro bytes em uma posição especificada em uma matriz de bytes.Returns a 32-bit signed integer converted from four bytes at a specified position in a byte array.

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

Parâmetros

value
Byte[]

Uma matriz de bytes.An array of bytes.

startIndex
Int32

A posição inicial dentro de value.The starting position within value.

Retornos

Um inteiro com sinal de 32 bits formado por quatro bytes, começando no startIndex.A 32-bit signed integer formed by four bytes beginning at startIndex.

Exceções

startIndex é maior ou igual ao tamanho de value menos 3, e é menor ou igual ao tamanho de value menos 1.startIndex is greater than or equal to the length of value minus 3, and is less than or equal to the length of value minus 1.

value é null.value is null.

startIndex é menor que zero ou maior que o tamanho de value menos 1.startIndex is less than zero or greater than the length of value minus 1.

Exemplos

O exemplo a seguir usa o método ToInt32 para criar valores de Int32 de uma matriz de quatro bytes e dos quatro bytes superiores de uma matriz de oito bytes.The following example uses the ToInt32 method to create Int32 values from a four-byte array and from the upper four bytes of an eight-byte array. Ele também usa os métodos GetBytes(Int32) e ToInt32 para fazer ida e volta de um valor Int32.It also uses the GetBytes(Int32) and ToInt32 methods to round-trip an Int32 value.

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)
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)

Comentários

O método ToInt32 converte os bytes do índice startIndex em startIndex + 3 em um valor Int32.The ToInt32 method converts the bytes from index startIndex to startIndex + 3 to an Int32 value. A ordem dos bytes na matriz deve refletir a endian da arquitetura do sistema do computador; para obter mais informações, consulte a seção comentários de BitConverter.The order of bytes in the array must reflect the endianness of the computer system's architecture; for more information, see the Remarks section of BitConverter.

Veja também

ToInt32(ReadOnlySpan<Byte>)

Converte um intervalo de bytes somente leitura em um inteiro com sinal de 32 bits.Converts a read-only byte span into a 32-bit signed integer.

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

Parâmetros

value
ReadOnlySpan<Byte>

Um intervalo somente leitura que contém os bytes a serem convertidos.A read-only span containing the bytes to convert.

Retornos

Um inteiro com sinal de 32 bits que representa os bytes convertidos.A 32-bit signed integer representing the converted bytes.

Exceções

O tamanho de value é menor que 4.The length of value is less than 4.

Aplica-se a