[Garbage Collector] Est-il "intelligent" ou ne l'est-il pas ?
Bonjour,
voilà, je me demandais si ce code est sur:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
List<Profil> theliste = new List<Profil>();
Profil theprofil;
for (int i = 0; i < 5; i++)
{
theprofil = new Profil();
theprofil._Label = "label" + i.ToString();
theliste.Add(theprofil);
} |
Après la boucle, la liste contient bien les références sur les instances de Profil, cependant la variable locale theprofil est réaffectée à chaque tour de boucle.
Ma question est donc la suivante : vu que theprofil est réaffecté, est-ce que les anciennes références sont marquées comme à collecter par le ramasse-miette? ou alors il est intelligent, et il sait que des références sont encore utilisées dans la liste, et dans ce cas le code précédent est 'sur' ?