Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

BitConverter.ToInt32-Methode: (Byte[], Int32)

 

Veröffentlicht: Oktober 2016

Gibt eine 32-Bit-Ganzzahl mit Vorzeichen, die aus vier Bytes an der angegebenen Position in ein Bytearray konvertiert.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static int ToInt32(
	byte[] value,
	int startIndex
)

Parameter

value
Type: System.Byte[]

Ein Bytearray.

startIndex
Type: System.Int32

Die Anfangsposition in value.

Rückgabewert

Type: System.Int32

Eine 32-Bit-Ganzzahl mit Vorzeichen, die durch vier Bytes, beginnend bei gebildet startIndex.

Exception Condition
ArgumentException

startIndex ist größer als oder gleich der Länge des value minus 3, und ist kleiner oder gleich der Länge des value minus 1.

ArgumentNullException

value ist null.

ArgumentOutOfRangeException

startIndex ist kleiner als 0 (null) oder größer als die Länge des value minus 1.

Die ToInt32 -Methode konvertiert die Bytes aus dem Index startIndexstartIndex + 3, um ein Int32 Wert. Die Reihenfolge der Bytes im Array muss die Endianness der der Architektur des Computersystems wiedergeben; Weitere Informationen finden Sie im Abschnitt Hinweise der BitConverter.

Im folgenden Beispiel wird die ToInt32 -Methode erstellt Int32 Werte aus einer 4-Byte-Array und die oberen vier Bytes eines 8-Byte-Arrays. Darüber hinaus verwendet die GetBytes(Int32) und ToInt32 Methoden für den Roundtrip eine Int32 Wert.

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)

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: