Are parameters evaluated in order when passed into a method?
<p>Are parameters evaluated in order when they passed into a method?</p>

<p>For Java it's always true, for C it isn't, but what is the answer for C#?</p>

<p>Sample</p>

<pre><code>string.Format("byte1={0} byte2={1} byte3={2}", 
  getNextByte(), 
  getNextByte(), 
  getNextByte());

int pos=0;
byte[] arr=new byte[] {1,2,3,4,5,6};
byte getNextByte()
{
  return arr[pos++];  
}
</code></pre>

<p>This sample works, but is it only luck or a rule?</p>
