Por que obter valor nulo do console em c # para readLine () depois de usar read ()

eu tenho o seguinte código

char c1 = (char)Console.Read();
Console.WriteLine("Enter a string.");
string instr = Console.ReadLine();

É preciso um valor parac1Depois disso, imprime "Enter a string". No entanto, quando tento digitar uma string, parece estar funcionando comoReadKey(), o que significa que, assim que eu pressiono qualquer tecla, está mostrando queinstr tem um valor nulo.

Se eu remover a primeira linha (char c1 = (char)Console.Read();), o programa funciona corretamente.

Por que é isso?

questionAnswers(1)

yourAnswerToTheQuestion