title: Return nothing or return void-- What exactly does C# do at the end of a void Function() call?
body: <p>Consider the following C# function:</p>
  
  <pre><code>void DoWork()
  {
      ...
  }
  </code></pre>
  
  <p>The C# documentation states:</p>
  
  <blockquote>
    <p>When used as the return type for a method, void specifies that the method <em>does not return a value</em>.</p>
  </blockquote>
  
  <p>That seems straight-forward enough and, in most cases, that suits as a fair definition.  </p>
  
  <p>However, for many lower-level languages (i.e. C) "void" has a slightly different meaning.  Specifically, all blocks of code must return <em>something</em>.  Therefore, <code>void</code> is a representation of the null pointer which is a representation of "nothing".  In such a case, you do not need to have a <code>return</code> statement within your code because any block-statement that doesn't return a value automatically returns a null pointer.</p>
  
  <p>Is this what C# does or when a <code>void</code> function is called, does it execute a block of code and return without even having a pointer containing a value of void?</p>