title: UInt32.TryParse() hex-number not working
body: <p>For some reason the following C# Console program always outputs: </p>
  
  <blockquote>
    <p>32<br>
    False<br>
    wtf=0</p>
  </blockquote>
  
  <p>What am I doing wrong?</p>
  
  <pre><code>using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Globalization;
  
  namespace ConsoleApplication1
  {
      class Program
      {
          static void Main(string[] args)
          {
              Console.WriteLine(Convert.ToUInt32("0x20", 16));
              UInt32 wtf = 0;
              Console.WriteLine(UInt32.TryParse("0x20",
                                NumberStyles.HexNumber, // I've tried also AllowHexSpecifier
                                CultureInfo.InvariantCulture,  // I've also tried CurrentCulture
                                out wtf));
              Console.WriteLine("wtf={0}", wtf);
          }
      }
  }
  </code></pre>