BitConverter.ToInt32 Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 value
başlangıç konumu.
Döndürülenler
konumundan startIndex
baş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.