BitConverter.ToInt32 Yöntem

Tanım

Aşırı Yüklemeler

ToInt32(ReadOnlySpan<Byte>)

Salt okunur bayt aralığını 32 bit imzalı tamsayıya dönüştürür.

ToInt32(Byte[], Int32)

Bayt dizisinde belirtilen konumda dört bayttan dönüştürülmüş 32 bit imzalı bir tamsayı döndürür.

ToInt32(ReadOnlySpan<Byte>)

Kaynak:
BitConverter.cs
Kaynak:
BitConverter.cs
Kaynak:
BitConverter.cs

Salt okunur bayt aralığını 32 bit imzalı tamsayıya dönüştürür.

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

Parametreler

value
ReadOnlySpan<Byte>

Dönüştürülecek baytları içeren salt okunur bir yayılma alanı.

Döndürülenler

Dönüştürülen baytları temsil eden 32 bit imzalı tamsayı.

Özel durumlar

uzunluğu value 4'ten azdır.

Şunlara uygulanır

ToInt32(Byte[], Int32)

Kaynak:
BitConverter.cs
Kaynak:
BitConverter.cs
Kaynak:
BitConverter.cs

Bayt dizisinde belirtilen konumda dört bayttan dönüştürülmüş 32 bit imzalı bir tamsayı döndürür.

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

Parametreler

value
Byte[]

Dönüştürülecek dört bayt içeren bayt dizisi.

startIndex
Int32

içindeki valuebaşlangıç konumu.

Döndürülenler

konumundan startIndexbaşlayarak dört bayt ile oluşturulmuş 32 bit imzalı bir tamsayı.

Özel durumlar

startIndex , eksi 3'ün value uzunluğuna eşit veya ondan büyük ve eksi 1'in value uzunluğuna eşit veya ondan küçüktür.

value, null değeridir.

startIndex sıfırdan küçük veya eksi 1 uzunluğundan value büyük.

Örnekler

Aşağıdaki örnek, dört baytlık bir diziden ve sekiz baytlık bir dizinin üst dört bayttan değerler oluşturmak Int32 için yöntemini kullanırToInt32. Ayrıca bir Int32 değeri gidiş dönüş yapmak için ve ToInt32 yöntemlerini kullanırGetBytes(Int32).

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)

Açıklamalar

yöntemi, ToInt32 baytları dizinden startIndex + 3'e startIndex bir Int32 değere dönüştürür. Dizideki baytların sırası, bilgisayar sistemi mimarisinin son durumunu yansıtmalıdır. Daha fazla bilgi için, öğesinin Açıklamalar bölümüne BitConverterbakın.

Ayrıca bkz.

Şunlara uygulanır