BitConverter.ToString Method (Byte[], Int32, Int32)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Converts the numeric value of each element of a specified subarray of bytes to its equivalent hexadecimal string representation.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type:
System.Byte
[]
An array of bytes.
- startIndex
- Type: System.Int32
The starting position within value.
- length
- Type: System.Int32
The number of array elements in value to convert.
Return Value
Type: System.StringA String of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in a subarray of value; for example, "7F-2C-4A".
| Exception | Condition |
|---|---|
| ArgumentNullException | value is null. |
| ArgumentOutOfRangeException | startIndex or length is less than zero. -or- startIndex is greater than zero and is greater than or equal to the length of value. |
| ArgumentException | The combination of startIndex and length does not specify a position within value; that is, the startIndex parameter is greater than the length of value minus the length parameter. |
The length elements from array position startIndex are converted.
If length equals zero, the method returns String.Empty.
The following code example converts the part of a Byte array starting at the specified startIndex with the specified length to a String using the ToString method.
// Example of some BitConverter.ToString( ) method overloads. using System; class Example { // Display a byte array, using multiple lines if necessary. public static void WriteMultiLineByteArray(System.Windows.Controls.TextBlock outputBlock, byte[] bytes, string name) { const int rowSize = 20; const string underLine = "--------------------------------"; int iter; outputBlock.Text += name + "\n"; outputBlock.Text += underLine.Substring(0, Math.Min(name.Length, underLine.Length)) + "\n"; for (iter = 0; iter < bytes.Length - rowSize; iter += rowSize) { outputBlock.Text += BitConverter.ToString(bytes, iter, rowSize); outputBlock.Text += "-" + "\n"; } outputBlock.Text += BitConverter.ToString(bytes, iter) + "\n"; outputBlock.Text += "\n"; } public static void Demo(System.Windows.Controls.TextBlock outputBlock) { byte[] arrayOne = { 0, 0, 0, 0, 128, 63, 0, 0, 112, 65, 0, 255, 127, 71, 0, 0, 128, 59, 0, 0, 128, 47, 73, 70, 131, 5, 75, 6, 158, 63, 77, 6, 158, 63, 80, 6, 158, 63, 30, 55, 190, 121, 255, 255, 127, 255, 255, 127, 127, 1, 0, 0, 0, 192, 255, 0, 0, 128, 255, 0, 0, 128, 127 }; byte[] arrayTwo = { 255, 255, 255, 0, 0, 20, 0, 33, 0, 0, 0, 1, 0, 0, 0, 100, 167, 179, 182, 224, 13, 0, 202, 154, 59, 0, 143, 91, 0, 170, 170, 170, 170, 170, 170, 0, 0, 232, 137, 4, 35, 199, 138, 255, 232, 244, 255, 252, 205, 255, 255, 129 }; byte[] arrayThree = { 0, 222, 0, 0, 0, 224, 111, 64, 0, 0, 224, 255, 255, 255, 239, 65, 0, 0, 131, 0, 0, 0, 112, 63, 0, 143, 0, 100, 0, 0, 240, 61, 223, 136, 30, 28, 254, 116, 170, 1, 250, 89, 140, 66, 202, 192, 243, 63, 251, 89, 140, 66, 202, 192, 243, 63, 252, 89, 140, 66, 202, 192, 243, 63, 82, 211, 187, 188, 232, 126, 255, 255, 255, 244, 255, 239, 127, 1, 0, 0, 0, 10, 17, 0, 0, 248, 255, 0, 88, 0, 91, 0, 0, 240, 255, 0, 0, 240, 157 }; outputBlock.Text += "This example of the\n" + " BitConverter.ToString( byte[ ], int ) and \n" + " BitConverter.ToString( byte[ ], int, int ) \n" + "methods generates the following output.\n\n"; WriteMultiLineByteArray(outputBlock, arrayOne, "arrayOne"); WriteMultiLineByteArray(outputBlock, arrayTwo, "arrayTwo"); WriteMultiLineByteArray(outputBlock, arrayThree, "arrayThree"); } } /* This example of the BitConverter.ToString( byte[ ], int ) and BitConverter.ToString( byte[ ], int, int ) methods generates the following output. arrayOne -------- 00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00- 80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37- BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00- 00-80-7F arrayTwo -------- FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0- 0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04- 23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81 arrayThree ---------- 00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00- 00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01- FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42- CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00- 00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D */