1
resposta

Dúvida funcionalidade do BinaryReader

Olá professor, tudo bem? Acabei de terminar a aula onde você demonstrou como ler um arquivo binário com as informações sobre uma conta corrente e fiquei com uma dúvida. Quando pedimos pro leitor ler um Int ou um Double ele consegue saber a quantidade de bytes para ler de acordo com o tipo e nos retorna os valores corretor. Porém, como ele sabe o tamanho que nossa string vai ter? Se tivéssemos inserido um outro valor Int depois da informação de nome do titular ainda conseguiríamos simplesmente dar um ReadInt32() após o ReadString() ? Não teríamos que passar um tamanho para o read string saber até onde existe informação de texto? Abraços!

1 resposta

Olá Juliana, boa noite. No caso do BinaryWriter do .NET quando trabalhamos com tipos Strings ele grava um byte antes da string representando o tamanho dela, assim quando usamos o ReadString ele se baseia nesse byte para saber o tamanho da mesma. Você pode user um editor hexadecimal para validar esse byte.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software