Frage

Die Dokumentation sagt einfach Lies-Block ist

"eine blockierende Version von Read"

aber was bedeutet das?

Jemand anderes die Frage gestellt hat, bevor aber, nicht wahr?

http://www.pcreview.co.uk/forums/thread- 1385785.php

Der Mann antwortete und sprach

  

Im Grunde bedeutet es, dass Sie auf StreamReader.ReadBlock verlassen können nicht   bis der Rückkehr entweder es so viel gelesen hat, wie Sie es gefragt, oder   Es ist das Ende des Stroms erreicht.

Bin ich richtig zu verstehen, dass dies erforderlich ist, da lesen können Sie nicht alles, was Sie gefragt? Und das nur, weil es 0 zurück, bedeutet nicht das Ende der Datei erreicht?

Dies bedeutet also, etwas anderes als die Anzahl von Bytes überprüfen zurückgegeben (EndOfStream?) Oder benutzen Lies-Block statt?

War es hilfreich?

Lösung

Lies-Block bedeutet nicht, es Thread-sicher ist. Wenn Sie Reflector bei der Umsetzung von StreamReader.ReadBlock suchen verwenden (die von TextReader.ReadBlock vererbt wird), die alle es tut, ist mehrere Anrufe auf die Methode „Read“ machen, bis entweder das „Lesen“ Methode gibt 0 oder wir lesen, wie viele Bytes wie gewünscht. Dies ist notwendig, weil die Methode „Read“ wird nicht unbedingt so viele Bytes zurück, wie Sie gefragt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top