class
struct
class abstract
/ sealed
class static
Des chercheurs danois et suédois en sciences informatiques et systèmes autonomes ont décortiqué la sécurité...
Nvidia se prépare à livrer la plate-forme serveur HGX-2 qui sera capable d'exploiter la puissance de 16 GPU Tesla V100...
L'EMD, une école de commerce située à Marseille ouvre à la prochaine rentrée l'école du numérique...
new
. Dans l'exemple suivant, Person
est le type, et person1
et person2
sont des instances, ou objets, de ce type.new
, mais cela n'est pas obligatoire, comme illustré dans l'exemple suivant :p1
et p2
est allouée sur la pile de threads.
Cette mémoire est récupérée avec le type ou la méthode où elle est déclarée.
C'est l'une des raisons pour lesquelles les structs sont copiés au moment de l'assignation.
En revanche, la mémoire allouée pour une instance de classe est récupérée automatiquement (garbage collector) par le common language runtime quand toutes les
références à l'objet sont hors de la portée. Il n'est pas possible de détruire de façon déterministe un objet de classe comme vous pouvez le faire dans C++.
Equals
.
(System.Object
est la classe de base implicite pour tous les types valeur et types référence, y compris les classes et structs définis par l'utilisateur.)
struct
ont les mêmes valeurs, utilisez la méthode ValueType.Equals
.
Comme tous les structs héritent implicitement de System.ValueType
, vous appelez directement la méthode sur votre objet, comme indiqué dans l'exemple suivant :
System.ValueType
de Equals
utilise la réflexion, car elle doit être en mesure de déterminer la nature des champs dans chaque struct
.
Quand vous créez vos propres structs, substituez la méthode Equals
pour fournir un algorithme d'égalité efficace qui est propre à votre type.Equals
ou l'opérateur ==
.
Toutefois, utilisez-les uniquement si la classe les a substitués ou surchargés pour fournir une définition personnalisée de ce que signifie "égalité" pour les objets de ce type.
La classe peut également implémenter l'interface IEquatable‹T›
ou IEqualityComparer‹T›
. Les deux interfaces fournissent des méthodes qui peuvent être utilisées pour tester l'égalité des valeurs.