Question

Je pense à DataGridView comme étant de porcs de mémoire. Est-il préférable de passer par une valeur datagridview ou par référence? Faut-il même passé du tout?

Était-ce utile?

La solution

En passant par valeur ou référence ne va pas à la matière d'un point de vue de la mémoire, parce que le DataGridView est un type de référence, pas un type de valeur.

Autres conseils

Le type DataGridView est un type de référence et par conséquent, il est impossible de passer la valeur par objet . Vous pouvez passer la référence à l'objet par valeur, mais qui est une valeur très faible (généralement pointeur se taille).

Pour ajouter à la réponse de Joseph, Tout en passant par la valeur n'est de créer une nouvelle variable sur la pile d'appel dans les méthodes appelées cadre pile, et copiez l'adresse (dans le Heap) de l'objet DataGridView dans cette variable pour une utilisation par la méthode appelée. Tout cela ne fait empêche la méthode appelée d'assigner l'adresse d'un nouvel objet DataGridView à la variable dans la appelant (méthode d'appel), et changeant ainsi qui datagridview l'appelant pointer vers.

  1. Vous ne (doit) passer une très souvent de contrôle
  2. Vous ne pouvez pas passer l'objet lui-même du tout.
  3. Vous ne pouvez passer la référence à un objet, et ce, en termes de valeur (par défaut) ou par référence (paramètre ref) n'a pas d'impact sur l'utilisation de la mémoire. Il est une décision de conception, mais en général, certainement pour les contrôles, vous passerez la référence en termes de valeur.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top