C# 4.0 で 名前付き引数と省略可能な引数が追加されました。
省略可能な引数では、既定値を指定することによって引数を省略することができ、名前付き引数では、引数名を付けることによって引数の順番を変えることができますので、下記のような感じで使うことができます。
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Hoge());
Console.WriteLine(Hoge(x: 1));
Console.WriteLine(Hoge(y: 2));
Console.WriteLine(Hoge(y: 2, x: 1));
Console.ReadLine();
}
static string Hoge(int x = 0, int y = 0)
{
return string.Format("{0}, {1}", x, y);
}
}
結果
参考
名前付き引数と省略可能な引数 (C# プログラミング ガイド)
http://msdn.microsoft.com/ja-jp/library/dd264739%28VS.100%29.aspx