I came across the below lines of code recently.
public class Program
    {
        public Program(Object o)
        {
            Console.WriteLine("Object");
        }
        public Program(double[] dArray)
        {
            Console.WriteLine("double array");
        }
        public static void Main(string[] args)
        {
            new Program(null);
        }
    }
I thought the constructor with object as input parameter will be invoked whereas the constructor with input parameter as double array was invoked. I was confused here. Can anyone help me understand the reason behind this?
