Olá! Estava tentando entender o código e resolvi monitorar o valor que a variável numeroDeBytesLidos recebe durante as iterações do while. Aqui está o código:
var enderecoDoArquivo = "contas.txt";
var fluxoDoArquivo = new FileStream(enderecoDoArquivo, FileMode.Open);
var buffer = new byte[1024]; // 1 kb
var numeroDeBytesLidos = -1;
while (numeroDeBytesLidos != 0)
{
numeroDeBytesLidos = fluxoDoArquivo.Read(buffer, 0, 1024);
Console.WriteLine(numeroDeBytesLidos);
}
E essa foi a saída no console: https://prnt.sc/r2vtde
Por que a variável recebeu o valor 1024 várias vezes, e só depois o valor mudou e chegou a 0?