quand je déclare un int nullable
int? i=null;
Est-ce que i
devient ici un type de référence?
quand je déclare un int nullable
int? i=null;
Est-ce que i
devient ici un type de référence?
Non, un nullable est une struct. Ce qui se passe, c'est que la structure nullable a deux valeurs.
Lorsque vous définissez la valeur du type de données, la structure modifie la valeur HasValue en true.
À Partir De Types Nullables (Guide De Programmation C#):
Les types nullables sont des instances du Système.Nullable struct.
et
Les types nullables représentent des variables de type de valeur qui peut être attribuée à la valeur null. Vous ne pouvez pas créer un type nullable sur la base d'un type de référence. (Les types de référence déjà l'appui de la valeur null.)
Donc, non, ils sont pas de types de référence.
Les types nullables sont ni des types de valeur ni de types de référence. Ils sont plus comme des types de valeur, mais ont quelques propriétés de types de référence.
Naturellement, les types nullables peut être fixé à n' null
. En outre, un type nullable ne peut pas satisfaire un générique struct
contrainte. Aussi, lorsque vous zone un type nullable avec HasValue
égal à false
, vous obtenez un null
pointeur à la place d'un coffret de type nullable (une situation similaire existe avec unboxing).
Ces propriétés en font des types nullables non-types de valeur, mais il est certain qu'ils ne sont pas les types de référence. Ils sont leur propre nullable-type de la valeur.
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.