我试图了解何时分配内存以及垃圾收集器何时收集垃圾。假设我有一些这样的代码:
foreach (FileInfo f in File){
foreach (DataAtrribute d in f){
string name = d.name;
}
}
假设有数千个 FileInfo 对象保存在 File 对象内部的数组中。假设每个 FileInfo 对象内部是一个包含多个 DataAttribute 对象的集合。这段代码是否会导致许多内存块被一遍又一遍地保留给“字符串名称”,因为我不是有一个名为 name 的静态字符串,而是一遍又一遍地做 'string name = d.name'?还是垃圾收集器工作得足够快以避免这种情况并保持可用内存连续?
谢谢。