2009-03-23 12 views
3

double:When should I use a structure instead of a class?.NET Le choix entre les structures et les classes

Je me demandais si quelqu'un peut fournir des conseils ou des exemples où il est préférable d'utiliser une structure sur une classe dans .NET ou vice versa

J'ai fait quelques lectures d'arrière-plan et je comprends les différences entre deux, c'est-à-dire que les structures sont stockées sur la pile, les classes sur l'eap tas. Mais n'a pas été en mesure de trouver des exemples clairs où l'un fournirait un avantage sur l'autre.

Merci beaucoup

+0

Duplicate de: http://stackoverflow.com/questions/85553/ - cette question contient de bonnes réponses. –

+0

Aussi http://stackoverflow.com/questions/521298/when-to-use-struct-in-c/521343 – Brian

+0

Apoligies pour poser une question en double, a essayé une recherche, mais ne semblait pas trouver quelque chose, Désolé. Merci à tous pour les conseils. –

Répondre

4

Pour citer a good answer to the same question (When should I use a struct instead of a class?):

MSDN a la réponse: Choosing Between Classes and Structures.

Fondamentalement, cette page vous donne une liste de contrôle 4 article et dit d'utiliser un classe, sauf si votre type répond à tous les critères .

ne définissent pas une structure sauf si le type possède toutes les caractéristiques suivantes :

  • représente logiquement une valeur unique, semblable à des types primitifs (entier, double, et ainsi de suite).
  • Il a une taille d'instance inférieure à 16 octets.
  • Il est immuable.
  • Il n'aura pas à être encadré fréquemment.
0

Je préfère les classes.

Structure TestStruct 
    Dim Name as String 
End Structure 

Dim x as TestStruct 

If x Is Nothing Then 
'ALWAYS returns false. A class would return true. Nullability, baby. 
0

ligne directrice de base, et même pas spécifique .NET:

Utilisez classe pour tout sauf lorsque vous avez besoin très petit, contenant très simple. Si vous ne voulez pas de propriétés ou de fonctions, vous devez utiliser une classe. Un bon exemple à mon avis pour une structure est quand vous devez faire un tableau d'éléments, mais les éléments sont une "paire" d'int et de chaîne. quelque chose de base comme

Questions connexes