I miss default parameter values from C++. In C# if I have some method Foo; static void Foo( int intValue, float floatValue, string stringValue) { } and there's the possibility that all the parameters can be "optional" then I end up writing something like; static void Foo() { Foo(0, 0.0f, null ); } static void Foo( int intValue) { Foo(intValue, 0.0f, null ); } static void Foo( int intValue, float floatValue) { Foo(intValue, floatValue, null ); } static void Foo( int intValue, float floatValue, string stringValue) { } which is a lot of code when I really just want to say; static void Foo( int intValue = 0, float floatValue = 0.0f, string stringValue = null ) { } and my C++ compiler would have been happy with that but my C# compiler isn't going to be. Pity as I think that the single function definition is a lot nicer than the multiple function definitions. With object initialisation in C# V3.0 you almost feel like writing; public class ArgType { public int intValue = 0; public float floatValue = 0; public string...