title: VB.NET, two ways of passing array as parameter are identical?
body: <p>A question that always confuses me:</p>
  
  <p>in VB.NET, when declare a <code>Function</code> (or <code>Sub</code>) that accepts an array as parameter, one can write either:</p>
  
  <p><code>Sub func(par as integer())</code></p>
  
  <p>or:</p>
  
  <p><code>Sub func(par() as integer)</code>.</p>
  
  <p>So, is <code>par as integer()</code> absolutely identical to <code>par() as integer</code>, even if I add various decorations (e.g. <code>Byval</code>) to them?</p>
  
  <hr>
  
  <p>I googled and found <a href="https://msdn.microsoft.com/library/63y5ksfs(v=vs.100).aspx" rel="nofollow">this page</a> on MSDN, which seems to use the second one. </p>
  
  <p>I also tried to write some test functions, which also suggest that there is no difference.</p>
  
  <p>But it will be nice to have a confirmation, or a counterexample. Thanks!</p>
  
  <hr>
  
  <p>Going one step further, are <code>par as integer()()</code>, <code>par() as integer()</code>, <code>par()() as integer</code> also identical?</p>