2010-11-22 15 views
1

Code:.NET-Konsole lesen und schreiben Problem

using System; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.Write(20); 
     int myAge = Console.Read() + 10; 
     Console.WriteLine(myAge); 
    } 
} 

Nach 20 Drucken es hängt und nichts gedruckt wird :(

+2

Schreiben Sie etwas auf der Konsole? 'Die Read-Methode blockiert ihre Rückgabe, während Sie Eingabezeichen eingeben; Es endet, wenn Sie die Eingabetaste drücken. http://msdn.microsoft.com/en-us/library/system.console.read.aspx – dsolimano

+1

Was ist los mit der Formatierung? Der Codeblock scheint nicht zu funktionieren! –

Antwort

4
Console.Write(20); 
    int myAge = int.Parse(Console.ReadLine()) + 10; 
    Console.WriteLine(myAge); 

Der Code wartet auf Sie inpu t etwas.

+0

Warum wurde das abgelehnt? –

+0

Warum der Downvote? Wenn Sie 'Console.Read() + 10' hätten, würde die' int'-Darstellung des 'char'-Lesewerts +10 berechnet und in myAge eingegeben. Sicher nicht, was zu erreichen ist. – Femaref

+0

Ich dachte, es dauert es von Console.WriteLine(), also brauche ich es nicht mehr! Es ist eine Ausgabe, so dass es keinen Sinn hat, oder? Allerdings, wenn ich nicht Parse und nur Console.Read() verwenden, obwohl es Ganzzahl gibt es mir falschen Wert nicht der eingegebene warum so? – kidwon

4

Console.Read() ist für die Eingabe etwas zu warten, das ist, warum es stoppt nach er druckt 20 aus. Probieren Sie etwas eingeben und drücken Enter

3

Sie sollten stattdessen ReadLine() verwenden.

Console.Write(20); 

    string line = Console.ReadLine(); 

    int number, myAge = 0; 

    if (int.TryParse(line, out number)) 
     myAge = number + 10; 


    Console.WriteLine(myAge); 
+0

Ich dachte, es dauert es von Console.WriteLine(), also brauche ich es nicht mehr! Es ist eine Ausgabe, so dass es keinen Sinn hat, oder? Wenn ich jedoch nicht Parse und nur Console.Read() verwende, obwohl es eine Ganzzahl gibt, gibt es mir einen falschen Wert, nicht den, der eingegeben wurde, warum? – kidwon

+0

Werfen Sie einen Blick auf MSDN: http://msdn.microsoft.com/en-us/library/system.console.read.aspx –