Qual è il modo migliore per deserializzare una stringa con terminazione null in .NET?

StackOverflow https://stackoverflow.com/questions/827020

  •  05-07-2019
  •  | 
  •  

Domanda

Sto leggendo un messaggio dalla mia connessione di rete che è serializzato come una serie di stringhe con terminazione null (e altri dati binari)

Potrei leggere un carattere alla volta usando un BinaryReader, finché non trovo un NULL.

C'è un modo più efficiente che è ancora semplice? Mi aspetto stringhe di lunghezza inferiore a 64 caratteri, ma potrebbero essere più lunghe.

È stato utile?

Soluzione

Penso che leggere byte per byte sia un'opzione ragionevole, ma userei un BufferedStream per ridurre al minimo l'IO sul flusso sottostante.

Altri suggerimenti

Leggi il tutto in una stringa, quindi usa String.Split per dividere i valori null.

Ricorda che le stringhe non sono terminate con null in .NET.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top