title: How does BitConverter.ToInt32 work?
body: <p>Here is a method - </p>
  
  <pre><code>using System;
  
  class Program
  {
      static void Main(string[] args)
      {
          //
          // Create an array of four bytes.
          // ... Then convert it into an integer and unsigned integer.
          //
          byte[] array = new byte[4];
          array[0] = 1; // Lowest
          array[1] = 64;
          array[2] = 0;
          array[3] = 0; // Sign bit
          //
          // Use BitConverter to convert the bytes to an int and a uint.
          // ... The int and uint can have different values if the sign bit differs.
          //
          int result1 = BitConverter.ToInt32(array, 0); // Start at first index
          uint result2 = BitConverter.ToUInt32(array, 0); // First index
          Console.WriteLine(result1);
          Console.WriteLine(result2);
          Console.ReadLine();
      }
  }
  </code></pre>
  
  <p>Output</p>
  
  <p>16385
  16385</p>
  
  <p>I just want to know how this is happening? </p>