開発ソフト ビジュアルスタジオ
言語 C#
.NET コンソールアプリ
使用PC MAC
using System; namespace Sample407 { class Program { static void Main(string[] args) { String[] a = new String[10000]; for (int i = 0; i < 10000; i++) { a[i] = new String('M', 10000); } Console.WriteLine("メモリ使用量(GC発動前) :" + GC.GetTotalMemory(false)); a = null; Console.WriteLine("メモリ使用量(参照解除後):" + GC.GetTotalMemory(false)); GC.Collect(); Console.WriteLine("メモリ使用量(GC発動後):" + GC.GetTotalMemory(false)); } } } コード
メモリの解放を行った後のメモリ使用量を見たいのですがこちらのプログラムを実行すると
メモリ使用量(GC発動前) :200387632
メモリ使用量(参照解除後):200470464
メモリ使用量(GC発動後):200445592
と出てメモリ使用量が減りません
どうやら調べてみますと a = null;がうまく実行されていないようで
下にい黄色い線が出て Unnecessary assignment of a value to 'a'
と表示されております。
エラー コードは出ておりません。
a に nullを代入するにはどのようにしたらよろしいでしょうか?
わかる方いらっしゃいましたら教えていただけますと幸いです。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー