Preciso fazer StreamWriter.flush ()?

Suponha que este código C #:

using (MemoryStream stream = new MemoryStream())
{
    StreamWriter normalWriter = new StreamWriter(stream);
    BinaryWriter binaryWriter = new BinaryWriter(stream);

    foreach(...)
    {
        binaryWriter.Write(number);
        normalWriter.WriteLine(name); //<~~ easier to reader afterward.
    }

    return MemoryStream.ToArray();
}

Minhas perguntas são:

Preciso usar o flush dentro do loop para preservar a ordem?Está voltandoMemoryStream.ToArray() legal? Eu usando ousing-bloco como uma convenção, eu tenho medo que isso estrague as coisas.

questionAnswers(2)

yourAnswerToTheQuestion