[解決済み] .NETのMemoryStreamを閉じないとメモリリークが発生しますか?
2022-08-29 21:39:09
質問
次のようなコードがあります。
MemoryStream foo(){
MemoryStream ms = new MemoryStream();
// write stuff to ms
return ms;
}
void bar(){
MemoryStream ms2 = foo();
// do stuff with ms2
return;
}
割り当てたMemoryStreamが何らかの原因で後で廃棄されなくなることはないのでしょうか?
これを手動で閉じるように主張しているピアレビューがあるのですが、彼の指摘が妥当かどうかを判断するための情報を見つけることができません。
どのように解決するのですか?
Disposableなものは、常にDisposeする必要があります。あなたは
using
文の中で
bar()
メソッドで
ms2
がDisposedになることを確認します。
最終的にはガベージコレクタによってクリーンアップされますが、Disposeを呼び出すことは常に良い習慣です。もしあなたのコードでFxCopを実行したら、警告としてフラグを立てるでしょう。
関連
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] EventEmitter のメモリリークの可能性が検出された
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み】C++のコード/プロジェクトでメモリリークを見つけるには?
-
[解決済み] "メモリーリーク "の解剖学
-
[解決済み] .NETのメモリリークを発見するために有効な戦略やツールは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み] 関数を終了するには?
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。
-
[解決済み] TPLタスクオブジェクトでDispose()を呼び出さないことは許容されると考えられますか?
-
[解決済み] Image.Save(...) はメモリストリームが閉じているため、GDI+の例外を投げる。