Does the assign then evaluate of each parameter "pattern" have a name?
<p>The following snippet of C# code:</p>

<pre><code>  int i = 1;
  string result = String.Format("{0},{1},{2}", i++, i++, i++);
  Console.WriteLine(result);
</code></pre>

<p>writes out: 1,2,3</p>

<p>Before I tried this in the compiler I was expecting the assignments to take place and then the evaluations, so my expected output was: 1,1,1</p>

<p>So my question is: Does this "pattern" (is it called a pattern?) of assign and then evaluate each parameter have a name?</p>

<p>EDIT: I'm referring to the pattern of evaluating and assigning the parameters to the String.Format() function. Not the incrementing of i.</p>

<p>(I may be incorrectly using the word evaluate in the question above because if the parameter was say (i + j) then we know that it would be evaluated before it was assigned. When using the word evaluate in that context I'm referring to the incrementing of i.)</p>
