Sobrecarga del constructor con parámetros predeterminados

Accidentalmente sobrecargué un constructor en C # de la siguiente manera:

public MyClass(string myString) 
{
    // Some code goes here 
}

public MyClass(string myString, bool myParameter = false) 
{
   // Some different code here
}

Con este código mi proyecto compiló bien. Si llamo al constructor con sólo unstring argumento, ¿cómo C # decide qué constructor quiero usar? ¿Por qué esta funcionalidad está permitida sintácticamente?

Respuestas a la pregunta(4)

Su respuesta a la pregunta