The C# Language Specification states on §7.5.1.2 that “(…) the expressions or variable references of an argument list are evaluated in order, from left to right (…)”. So, when this code is compiled with the C# 4.0 compiler: static void M( int x = 10,...