Oui, obj
est une référence à l'objet courant dans la collection (en supposant MyClass
est en fait une classe). Si vous modifiez les propriétés par la référence, vous êtes à la modification de l'objet, tout comme vous pouvez attendre.
Sachez cependant que vous ne pouvez pas modifier la variable obj
lui-même, que la variable d'itération. Vous obtiendrez une erreur de compilation si vous essayez. Cela signifie que vous ne pouvez pas null et si vous êtes l'itération de la valeur, vous ne pouvez pas modifier tous les membres que ce serait la modification de la valeur.
La spécification du langage C# (états 8.8.4)
"La variable d'itération correspond à
lecture seule variable locale avec un
champ d'application qui s'étend sur l'embedded
instruction".