How to use default parameters in C#?

Chin picture Chin · Jul 30, 2009 · Viewed 15.9k times · Source

In other languages I can set up the method signature like

cookEgg(boolean hardBoiled = true)

This defaults the parameter hardboiled to true, if I don't receive a parameter in the method call.

How would I achieve this in C#?

Answer

Pavel Minaev picture Pavel Minaev · Jul 30, 2009

At present, you have to overload the method:

void cookEgg(bool hardBoiled) { ... }
void cookEgg() { cookEgg(true); }

C# 4.0 will add optional arguments - you will be able to write code exactly as in your original sample, and it will work as you'd expect.