我最近遇到了一个关于我的程序使用的内存的问题。原因是我在方法中使用的字符串数组的内存。更具体地说,这个程序是从外部文件中读取一个整数数组。这是我的代码
class Program
{
static void Main(string[] args)
{
int[] a = loadData();
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine(a[i]);
}
Console.ReadKey();
}
private static int[] loadData()
{
string[] lines = System.IO.File.ReadAllLines(@"F:\data.txt");
int[] a = new int[lines.Length];
for (int i = 0; i < lines.Length; i++)
{
string[] temp = lines[i].Split(new char[]{','},StringSplitOptions.RemoveEmptyEntries);
a[i] = Convert.ToInt32(temp[0]);
}
return a;
}
}
文件 data.txt 大约 7.4 MB 和 574285 行。但是当我运行时,任务管理器中显示的程序内存为:41.6 MB。似乎我在 loadData() 中读取的字符串数组的内存(它是 string[] 行)没有被释放。我怎样才能释放它,因为它以后再也不用了。