80 votes

Quelle est la taille d'une référence d'objet dans .NET?

Quelle est la taille d'une référence d'objet dans .NET? Cela varie-t-il entre la compilation x86, x64 et / ou AnyCPU?

Si cela fait une différence, je suis personnellement intéressé par C #.

92voto

Samuel Neff Points 35554

La référence elle-même est fondamentalement un pointeur. 32 bits sur un système d'exploitation 32 bits, 64 bits sur un système d'exploitation 64 bits.

La taille de l'objet référencé est plus compliquée.

22voto

IllidanS4 Points 811

Pour déterminer la taille du pointeur, vous pouvez utiliser System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) ou sizeof(IntPtr) dans un contexte non sécurisé.

Modifier:

Ou IntPtr.Size .

16voto

Igor Zevaka Points 32586

Une référence d'objet est fondamentalement un pointeur sur la mémoire qui contient les attributs de l'objet. En tant que tel, la référence est un mot de processeur de longueur - 32 bits sur les plates-formes 32 bits et 64 bits sur x64.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X