Bonjour, pourriez vous me dire a quoi sert cette ligne dans le code ?
Code:GC.Collect(GC.MaxGeneration);
Sur msdn :
Obtient le nombre maximal de générations actuellement pris en charge par le système. Mais cela veut dire quoi exactement ?
Merci
Version imprimable
Bonjour, pourriez vous me dire a quoi sert cette ligne dans le code ?
Code:GC.Collect(GC.MaxGeneration);
Sur msdn :
Obtient le nombre maximal de générations actuellement pris en charge par le système. Mais cela veut dire quoi exactement ?
Merci
La définition que tu as ne correspond qu'au GC.MacGeneration.
Voilà celle du GC.Collect(Int32) : Force un garbage collection immédiat de la génération zéro jusqu'à une génération spécifiée.
Notes : Utilisez cette méthode pour tenter de récupérer la mémoire qui n'est pas accessible. Toutefois, l'utilisation de cette méthode ne garantit pas que la mémoire inaccessible dans la génération spécifiée soit libérée.
Si le vieillissement des objets est implémenté, le garbage collector ne collecte pas les objets avec un numéro de génération supérieur à la génération spécifiée. Si le vieillissement des objets n'est pas implémenté, le garbage collector considère tous les objets lors du garbage collection.
Utilisez la propriété MaxGeneration pour déterminer la valeur valide maximale du paramètre generation.
Pour que le garbage collector prenne en compte tous les objets, et ce quelle que soit leur génération, utilisez la version de cette méthode qui n'accepte aucun paramètre. Pour que le garbage collector récupère les objets selon un paramètre GCCollectionMode, utilisez la surcharge de méthode GC..::.Collect(Int32, GCCollectionMode) .
Donc pour résumer, cette instruction ordonne au Garbage Collector de récupérer la mémoire utilisée par tous les objets qui ne sont plus référencés, quel que soit leur âge (leur "génération").
Plus d'informations sur le principe de garbage collector générationnel : Wikipedia