BitConverter.ToInt32 Método

Definición

Sobrecargas

ToInt32(Byte[], Int32)

Devuelve un entero de 32 bits con signo convertido a partir de cuatro bytes en la posición especificada de una matriz de bytes.Returns a 32-bit signed integer converted from four bytes at a specified position in a byte array.

ToInt32(ReadOnlySpan<Byte>)

Convierte un intervalo de bytes de solo lectura en un entero de 32 bits con signo.Converts a read-only byte span into a 32-bit signed integer.

ToInt32(Byte[], Int32)

Devuelve un entero de 32 bits con signo convertido a partir de cuatro bytes en la posición especificada de una 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[]

Matriz de bytes.An array of bytes.

startIndex
Int32

Posición inicial de value.The starting position within value.

Devoluciones

Entero de 32 bits con signo formado por cuatro bytes que comienzan en startIndex.A 32-bit signed integer formed by four bytes beginning at startIndex.

Excepciones

El parámetro startIndex es mayor o igual que la longitud de value menos 3 y es menor o igual que la longitud 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 es null.value is null.

startIndex es menor que cero o mayor que la longitud de value menos 1.startIndex is less than zero or greater than the length of value minus 1.

Ejemplos

En el ejemplo siguiente se usa el método ToInt32 para crear valores Int32 a partir de una matriz de cuatro bytes y de los cuatro bytes superiores de una matriz de ocho 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. También usa los métodos GetBytes(Int32) y ToInt32 para realizar un recorrido de ida y vuelta por un valor de @no__t 2.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)

Comentarios

El método ToInt32 convierte los bytes del índice startIndex a startIndex + 3 a un valor Int32.The ToInt32 method converts the bytes from index startIndex to startIndex + 3 to an Int32 value. El orden de los bytes de la matriz debe reflejar el modos endian de la arquitectura del sistema del equipo; para obtener más información, vea la sección Comentarios 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.

Consulte también:

ToInt32(ReadOnlySpan<Byte>)

Convierte un intervalo de bytes de solo lectura en un entero de 32 bits con signo.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>

Intervalo de solo lectura que contiene los bytes que se van a convertir.A read-only span containing the bytes to convert.

Devoluciones

Entero de 32 bits con signo que representa los bytes convertidos.A 32-bit signed integer representing the converted bytes.

Excepciones

La longitud de value es menor que 4.The length of value is less than 4.

Se aplica a