Warum wird nach Verwendung von read () der Nullwert von der Konsole in c # für readLine () abgerufen?

Ich habe den folgenden Code

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

Es nimmt einen Wert fürc1Danach wird "Enter a string" ausgegeben. Wenn ich jedoch versuche, eine Zeichenfolge einzugeben, scheint dies so zu funktionierenReadKey()Das heißt, sobald ich eine Taste drücke, wird dies angezeigtinstr hat einen Nullwert.

Wenn ich die erste Zeile entferne (char c1 = (char)Console.Read();) funktioniert das Programm korrekt.

Warum ist das?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage