Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

BitConverter.ToString Method (Byte[], Int32, Int32)

Converts the numeric value of each element of a specified subarray of bytes to its equivalent hexadecimal string representation.

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

public static string ToString(
	byte[] value,
	int startIndex,
	int length
)

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.String
A String of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in a subarray of value; for example, "7F-2C-4A".

ExceptionCondition
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
*/


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2015 Microsoft