Can I make a function in C# take an optional parameter or do I need to overload it?
===

I have the following in an interface:

   string GetTopic(string rk);

and this function:

    public string GetTopic(string rk)
    {
        return string.Format("{0}.{1}.{2}",
            rk.Substring(0, 2).TrimStart('0'),
            rk.Substring(2, 2).TrimStart('0').PadLeft(1, '0'),
            rk.Substring(4, 2).TrimStart('0').PadLeft(1, '0'));
    }

I would like to add an optional second parameter something like so I can call the function like this:

    var a = GetTopic("010101") or
    var b = GetTopic("010101","test")

In the first case I would like to get the output "1.1.1" and in the second case the output "1.1.1 - test". 

Is this possible or do I need to make two functions and have one overload the other one?





