Was ist der Unterschied zwischen read und readline in C#?
Was ist der Unterschied zwischen read()
und readline()
in C#?
Vielleicht nutzen wir es nicht, aber in meiner Akademie, der einzige Unterschied ist, dass man "Linie" und die anderen nicht haben...
In c++ gibt es "cin" und es hat "endl" auf Zeile hinzufügen.
Kann jemand mir sagen die Unterschied?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meinst du
TextReader.Read
undTextReader.ReadLine
?Einer überlastung der
TextReader.Read
liest Zeichen in einen Puffer (einechar[]
), und Sie können angeben, wie viele Zeichen Sie wollen, es zu Lesen (als maximum). Ein anderer liest ein einzelnes Zeichen zurückgebenint
sein wird -1 zurück, wenn Sie haben erreicht das Ende der Leser.TextReader.ReadLine
liest eine ganze Zeile alsstring
, die nicht das Zeilenende-Zeichen.Soweit ich bin mir bewusst,
endl
wird Häufig in Verbindung mitcout
in C++:In .NET, die Sie verwenden würden
dasselbe erreichen (für ein entsprechendes
TextWriter
; alternativ verwenden SieConsole.WriteLine
für die Konsole).EDIT:
Console.ReadLine
liest eine Zeile text, in der Erwägung, dassConsole.Read
liest ein einzelnes Zeichen (es ist wie der parameterlosen überladung vonTextWriter.Read
).Console.ReadLine()
ist im Grunde das gleiche wieConsole.In.ReadLine()
undConsole.Read()
ist im Grunde das gleiche wieConsole.In.Read()
.EDIT: In Antwort auf Ihren Kommentar zu der anderen Antwort, die Sie nicht tun können:
weil der return-Typ von
Console.ReadLine()
ist ein string, und da gibt es keine Konvertierung vonstring
zuint
. Sie kann tunweil
Console.Read()
gibt einint
. (Auch hier ist wieder die Unicode-code-point-oder " -1 " für "end of data".)EDIT: Wenn du Lesen willst, eine ganze Zahl von der Tastatur, d.h. der Benutzer Typen in "15" und Sie abrufen möchten, die als eine ganze Zahl, die Sie verwenden sollten so etwas wie:
Wenn du redest Konsole.Lesen und Konsole.ReadLine, der Unterschied ist, dass Lesen nur wieder ein einzelnes Zeichen, während ReadLine liefert die gesamte input-Zeile. Es ist wichtig zu beachten, dass in beiden Fällen die API-Aufruf nicht zurückgegeben, bis der Benutzer drückt die EINGABETASTE, um zu senden den text zu dem Programm. Also, wenn Sie geben Sie "abc", aber nicht drücken Sie die EINGABETASTE, Lese-und ReadLine blockiert, bis Sie tun.