Why or why not should I use 'UL' to specify unsigned long?
<pre><code>ulong foo = 0;
ulong bar = 0UL;//this seems redundant and unnecessary. but I see it a lot.
</code></pre>

<p>I also see this in referencing the first element of arrays a good amount</p>

<pre><code>blah = arr[0UL];//this seems silly since I don't expect the compiler to magically
                //turn '0' into a signed value
</code></pre>

<p>Can someone provide some insight to why I need 'UL' throughout to specify specifically that this is an unsigned long?</p>
