BitConverter.ToInt32 Метод

Определение

Перегрузки

ToInt32(Byte[], Int32)

Возвращает 32-битовое целое число со знаком, преобразованное из четырех байтов с указанной позицией в массив байтов.Returns a 32-bit signed integer converted from four bytes at a specified position in a byte array.

ToInt32(ReadOnlySpan<Byte>)

Преобразует доступный только для чтения диапазон байтов в 32-разрядное целое число со знаком.Converts a read-only byte span into a 32-bit signed integer.

ToInt32(Byte[], Int32)

Возвращает 32-битовое целое число со знаком, преобразованное из четырех байтов с указанной позицией в массив байтов.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

Параметры

value
Byte[]

Массив байтов.An array of bytes.

startIndex
Int32

Начальная позиция в value.The starting position within value.

Возвраты

32-битовое знаковое целое число, образованное четырьмя байтами, начинающимися с startIndex.A 32-bit signed integer formed by four bytes beginning at startIndex.

Исключения

Значение параметра startIndex больше или равно длине параметра value минус 3 и меньше или равно длине параметра value минус 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 меньше нуля или больше, чем длина value минус 1.startIndex is less than zero or greater than the length of value minus 1.

Примеры

В следующем примере используется метод ToInt32 для создания значений Int32 из 4-байтового массива и из четырех верхних байтов массива из восьми байт.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. Он также использует методы GetBytes(Int32) и ToInt32 для приема-передачи значения 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)

Комментарии

Метод ToInt32 преобразует байты из индекса startIndex в startIndex + 3 в значение Int32.The ToInt32 method converts the bytes from index startIndex to startIndex + 3 to an Int32 value. Порядок байтов в массиве должен отражать порядок следования байтов архитектуры компьютерной системы. Дополнительные сведения см. в подразделе "Примечания" раздела 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.

Дополнительно

ToInt32(ReadOnlySpan<Byte>)

Преобразует доступный только для чтения диапазон байтов в 32-разрядное целое число со знаком.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

Параметры

value
ReadOnlySpan<Byte>

Доступный только для чтения диапазон, содержащий байты для преобразования.A read-only span containing the bytes to convert.

Возвраты

32-разрядное целое число со знаком, которое представляет преобразованные байты.A 32-bit signed integer representing the converted bytes.

Исключения

Длина value меньше 4.The length of value is less than 4.

Применяется к