BitConverter.ToInt32 Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns a 32-bit signed integer converted from four bytes at a specified position in a byte array.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type:
System.Byte
[]
An array of bytes.
- startIndex
- Type: System.Int32
The starting position within value.
| Exception | Condition |
|---|---|
| ArgumentException | 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. |
| ArgumentNullException | value is null. |
| ArgumentOutOfRangeException | startIndex is less than zero or greater than the length of value minus 1. |
The following code example converts elements of Byte arrays to Int32 values with the ToInt32 method.
// Example of the BitConverter.ToInt32 method. using System; class Example { const string formatter = "{0,5}{1,17}{2,15}"; // Convert four byte array elements to an int and display it. public static void BAToInt32(System.Windows.Controls.TextBlock outputBlock, byte[] bytes, int index) { int value = BitConverter.ToInt32(bytes, index); outputBlock.Text += String.Format(formatter, index, BitConverter.ToString(bytes, index, 4), value) + "\n"; } // Display a byte array, using multiple lines if necessary. public static void WriteMultiLineByteArray(System.Windows.Controls.TextBlock outputBlock, byte[] bytes) { const int rowSize = 20; int iter; outputBlock.Text += "initial byte array" + "\n"; outputBlock.Text += "------------------" + "\n"; for (iter = 0; iter < bytes.Length - rowSize; iter += rowSize) { outputBlock.Text += String.Format( BitConverter.ToString(bytes, iter, rowSize)); outputBlock.Text += "-" + "\n"; } outputBlock.Text += String.Format(BitConverter.ToString(bytes, iter)) + "\n"; outputBlock.Text += "\n"; } public static void Demo(System.Windows.Controls.TextBlock outputBlock) { byte[] byteArray = { 15, 0, 0, 0, 0, 128, 0, 0, 16, 0, 0, 240, 255, 0, 202, 154, 59, 0, 54, 101, 196, 241, 255, 255, 255, 127 }; outputBlock.Text += String.Format( "This example of the BitConverter.ToInt32( byte[ ], " + "int ) \nmethod generates the following output. It " + "converts elements \nof a byte array to int values.\n") + "\n"; WriteMultiLineByteArray(outputBlock, byteArray); outputBlock.Text += String.Format(formatter, "index", "array elements", "int") + "\n"; outputBlock.Text += String.Format(formatter, "-----", "--------------", "---") + "\n"; // Convert byte array elements to int values. BAToInt32(outputBlock, byteArray, 1); BAToInt32(outputBlock, byteArray, 0); BAToInt32(outputBlock, byteArray, 21); BAToInt32(outputBlock, byteArray, 6); BAToInt32(outputBlock, byteArray, 9); BAToInt32(outputBlock, byteArray, 13); BAToInt32(outputBlock, byteArray, 17); BAToInt32(outputBlock, byteArray, 22); BAToInt32(outputBlock, byteArray, 2); } } /* This example of the BitConverter.ToInt32( byte[ ], int ) method generates the following output. It converts elements of a byte array to int values. initial byte array ------------------ 0F-00-00-00-00-80-00-00-10-00-00-F0-FF-00-CA-9A-3B-00-36-65- C4-F1-FF-FF-FF-7F index array elements int ----- -------------- --- 1 00-00-00-00 0 0 0F-00-00-00 15 21 F1-FF-FF-FF -15 6 00-00-10-00 1048576 9 00-00-F0-FF -1048576 13 00-CA-9A-3B 1000000000 17 00-36-65-C4 -1000000000 22 FF-FF-FF-7F 2147483647 2 00-00-00-80 -2147483648 */