How to tell what value types are initialized to by the CLR
<p>This pertains to C# &amp; the .NET Framework specifically.</p>

<p>It's best practice not to initialize the following types in the .NET framework because the CLR initializes them for you:</p>

<p>int, 
bool, etc.</p>

<p>and same for setting an object to null (I believe).</p>

<p>For example you do not need to do this and in fact it's a performance hit (drops in the bucket or not):</p>

<pre><code>int Myvar = 0;
</code></pre>

<p>Just need <code>int Myvar;</code> and that's it.  the CLR will initialize it to int.</p>

<p>I obviously just "know" from programming that int is set to 0 by default and bool to false.</p>

<p>And also setting an object to null because the CLR does it for you.
But how can you tell what those primitive types are set to.  I tried opening up Reflector to take a look at int32 and bool but could not figure out how they are initialized by default.</p>

<p>I looked on msdn and I don't see it there either.  Maybe I'm just missing it.</p>
