Dans .NET, vous généralement pas besoin pour définir une référence variable = Nothing
(null
en C#). Le ramasse-miettes va nettoyer, finalement. La référence elle-même sera détruite quand elle sort de la portée (soit lorsque votre méthode se termine ou lorsque l'objet de cette classe est finalisé.) Notez que cela ne signifie pas que l'objet est détruit, juste la référence. L'objet sera toujours détruit de façon non déterministe par le collecteur. Toutefois, la définition de votre référence = Nothing
indique à .NET que l'objet peut être corrompu et qu'il ne nuit pas nécessairement à quoi que ce soit - à l'exception du fouillis de code. Si vous deviez le conserver, je vous recommande de le retirer du bloc Try
; il est déjà dans le bloc Finally
et sera donc toujours appelé. (Mis à part certaines exceptions catastrophiques, mais dans ces cas, il ne serait pas appelé dans le bloc Try
soit!)
Enfin, je dois admettre que je suis d'accord avec Greg: Votre code serait plus propre sans cela. L'allusion à l'exécution que vous avez terminé avec la référence est agréable, mais certainement pas critique. Honnêtement, si je voyais cela dans une revue de code, je devrais probablement le développeur réécrire ainsi:
Dim a as Object
Dim i as Integer = 0
For i=1 to 5
a = new Object()
'Do stuff
Next
réglage En fait, la variable null peut provoquer la durée de vie de l'objet à être étendu plutôt que raccourci (http: // blogs. msdn.com/csharpfaq/archive/2004/03/26/97229.aspx). Bien que le message général de la poste soit correct - ne vous embêtez pas à mettre les choses à zéro. –
Touche. Le .NET JIT continue de me surprendre par son intelligence et son efficacité! –