title: value of integral type expected switch with dynamic parameter
body: <p>Just out of curiosity.</p>
  
  <p>If I have the following Code</p>
  
  <pre><code>public static string Format(dynamic exception)
  {
      switch (exception.GetType().ToString())
      {
          case "test":
              return "Test2";
      }
      return null;
  }
  </code></pre>
  
  <p>i get the error <strong>"A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type"</strong></p>
  
  <p>but if i have the following code </p>
  
  <pre><code>public static string Format(dynamic exception)
  {
      string test = exception.GetType().ToString();
      switch (test)
      {
          case "test":
              return "Test2";
      }
      return null;
  }
  </code></pre>
  
  <p>everything compiles fine. Whats the Difference if the switch is checking a variable of Type string and ToString()? Or is it because of the Chance to throw an Exception before ToString() is called? </p>