title: Converting an integer to an object and back causes InvalidCastException
body: <p>I'm trying to store 3 variables in a ListViewItem's Tag object. I'm currently doing it like this:</p>
  
  <pre><code>lvi.Tag = new object[] { value1, value2, value3 };
  </code></pre>
  
  <p>This is not a problem, but when I try to revert it with this code:</p>
  
  <pre><code>object[] objs = (lvi.Tag as object[]);
  int t = (int)objs[0];
  </code></pre>
  
  <p>It gives me an exception <code>System.InvalidCastException</code>. I've tried debugging it, but the debugger gives me the correct information </p>
  
  <pre><code>objs = object[] { 1, 93234, 0 }
  </code></pre>
  
  <p>Does anyone have an idea what is happening?</p>