Hallo,
ich habe eine Frage zu der Close() - Reihenfolge für BinaryWriter und FileStream. Am besten erklär ich das am Code selber:
internal void Speichern(string Datei)
{
using (FileStream fs = new FileStream(Datei, FileMode.Create, FileAccess.Write))
{
using (BinaryWriter bw = new BinaryWriter(fs))
{
bw.Close();
fs.Close();
}
}
}
Hab ich das richtig umgesetzt, oder gibt es da was zu beachten?
(Z.Bs. ob man zuerst den BinaryWriter schließen muss oder ob die usings überflüssig sind.)
Danke fürs Durchlesen. 🙂
Hallo sputnik007,
wenn du using benutzt, was gut ist, dann brauchst du kein Close.
herbivore
Hi!
Using zu benutzen ist sehr löblich und natürlich zu präferieren.
Der Vollständigkeit halber möchte ich aber hier noch die MSDN zitieren:
Closes the current BinaryWriter and the underlying stream. Quelle
Mfg NeuroCoder
Hallo NeuroCoder,
ja, ein BinaryWriter.Close schließt nicht nur den BinaryWriter, sondern auch den BaseStream des BinaryWriters. Aber das heißt ja nur, dass das zweite Close, was implizit vom using FileStream ausgelöst wird, überflüssig ist. Da man dieses Close aber eh nicht verhindern kann und ein Close mehr nicht schadet, bleibt es doch bei der Aussage, dass man sich bei using nicht um das Close kümmern und schon gar kein explizites Close vornehmen muss.
herbivore