C# Optional Parameters


An optional parameter is a parameter that you can either include or omit when invoking the method. To specify that a parameter is optional, you need to include a default value for that parameter in the method declaration. The syntax for specifying the default value is the same as that of initializing a local variable. All required parameters must be declared before any optional parameters are declared. If there is a params parameter, it must be declared after all the optional parameters.

using System;
namespace OptionalParamter
{
    class Program
    {
        static void Main(string[] args)
        {
            MyClass mc = new MyClass();
            int r0 = mc.Calc(); // Use explicit values.
            int r1 = mc.Calc(5); // Use default for b.
            Console.WriteLine($"{ r0 }, { r1 }");
        }
    }
    public class MyClass
    {
        public int Calc(int a = 7)
        {
            return a + a;  
        }
    }
}

You can mix them.

public int Calc(int x, int a = 7)