Streams und ihre Lebensdauer verstehen (Flush, Dispose, Close)

Hinweis: Ich habe die folgenden zwei Fragen bereits gelesen:

Können Sie das Konzept von Streams erklären?

C # mit Streams

Ich programmiere in C #

In fast allen Codebeispielen, die Streams verwenden, werden fast immer .Dispose (), .Flush (), .Close () aufgerufen.Was leistet das Konzept eines Streams?Wenn ich einen Stream, den ich in einer Variablen gespeichert habe, nicht entsorge, tritt irgendwo ein Leck in meiner Anwendung auf?Warum muss ich eine dieser Funktionen aufrufen? Ich habe Codebeispiele gesehen, die dies nicht tun und trotzdem die Arbeit erledigen (ohne eineersichtlich Bruch)

Ich baue gerade eine Klasse in meiner Anwendung auf, die eine primäre Methode enthält (nennen wir sieGetStream()), der einen Stream über zurückgibtmyWebRequest.GetResponse().GetResponseStream()

Die primäre MethodeGetStream() gibt a zurückStream Objekt, das für alle Vorgänge verwendet werden kann, für die ein Stream erforderlich ist (StreamReader, Bitmap () usw.).

Gibt es eine Möglichkeit, den Stream nach seiner letzten Verwendung automatisch entsorgen zu lassen (Müll gesammelt?), Ohne jemanden zu zwingen, der anruft.GetStream() manuell entsorgen?

Wie Sie wahrscheinlich feststellen können, sind meine Fragen vage und allgemein. Mein Verständnis von Streams ist nicht solide, daher wären Links zu hilfreichen Artikeln, die einen tieferen Einblick in Streams bieten, als eine SO-Frage bieten kann, dankbar.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage