Använder mig av en StreamReader för att gå igenom en textfil, rad för rad.
När jag kommer till en viss rad har jag dock behovet av att stega framåt X antal rader för att hämta information, och sedan återvända dit jag var.
Tips på hur man kan lösa detta på snyggast möjliga sätt?
En streamreader jobbar alltid mot en Stream, inte alla Streams men en del kan man ändra Position på så t.ex.
Så du kan ändra vilken position i strömmen du skall vara på
stream.Position, tänk på att alla strömmar stödjer inte detta som t.ex. Nätverksströmmar.
Filströmmar kan man förflytta sig i, men det är omständigt. Du får på något sätt hålla reda på själv var du förflyttar dig genom att lagra positionerna för var du slutade läsa och hur mycket du ska läsa (du förflyttar dig efter antal bytes, inte rader). Ta en titt på FileStream.Seek(offset, origin). Kanske det finns någon tredjepartslösning om du googlar tillräckligt noga. :)
Frågan är om det är det enklaste sättet att lösa ditt problem? Måste du läsa datan "lazy", eller kan du kanske lagra alla rader i en kollektion som är lättare att hantera?
274 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2