Ich lese Zeichenfolgen aus einer Binärdatei. Jede Zeichenfolge ist nullterminiert. Codierung ist UTF-8. In Python lese ich einfach ein Byte, überprüfe, ob es 0 ist, füge es an ein Byte-Array an und lese weiter, bis ich eine 0 sehe. Dann konvertiere ich das Byte-Array in einen String und gehe weiter. Alle Strings wurden korrekt gelesen.Lesen einer nullterminierten Zeichenfolge
Wie kann ich das in C# lesen? Ich glaube nicht, dass ich den Luxus habe, einfach Bytes an ein Array anzuhängen, da die Arrays eine feste Größe haben.
Warum nicht eine Liste verwenden? –
Warum fügen Sie sie nicht einfach als Zeichen an eine Zeichenkette an? – zellio
Das würde funktionieren, aber mehr Speicher verbrauchen, als Sie denken würden. C# -Zeichenfolgen sind unveränderbar, so dass jedes Mal, wenn Sie eine ändern, eine neue Zeichenfolge erstellt werden muss. Die Menge an zusätzlichem Speicher ist in den meisten Fällen wahrscheinlich kein Problem, aber der beste Weg ist wahrscheinlich Mike's Vorschlag mit einer vernünftigen Anfangsgröße. Die Liste ist immer noch nur ein Wrapper um ein Array, der bei Bedarf größere Arrays erstellt. –
TheEvilPenguin