Comment créer des types de valeurs non nullables comme int, bool, etc. en C #?
Oui, ceux-ci sont appelés struct
.
Les structures sont des types de valeur, tout comme int
, bool
et autres.
Ils ont des règles/recommandations qui leur sont liées: (je pense que ce sont les plus importants)
une structure est passée et affectée par valeur, lorsque vous n'utilisez pas de mots clés ref ou out ... cela signifie que tout ce que vous mettez dans une structure sera copié lors de son affectation ou de sa transmission à une méthode. C'est pourquoi vous ne devez pas créer de grandes structures.
vous ne pouvez pas définir un constructeur sans paramètre pour une structure en C #
les structures sont préférables pour être immuables, et n'ont pas de poseurs de biens. Vous pouvez avoir de vrais ennuis en créant des structures mutables.
D'autres règles peuvent être trouvées dans les documents Microsoft sur les structures.
Quant à types de référence non nullables ... c'est pas possible. Vous devez vérifier manuellement les valeurs nulles dans votre code.
Vous pouvez définir un struct :
Un type de structure est un type de valeur qui est généralement utilisé pour encapsuler de petits groupes de variables liées, telles que les coordonnées d'un rectangle ou les caractéristiques d'un article dans un inventaire. L'exemple suivant montre une déclaration de structure simple:
public struct Book { public decimal price; public string title; public string author; }
Cependant, vous ne pouvez pas définir d'alias comme int
pour System.Int32
et doivent se référer au nom complet MyNamespace.Book
(ou Book
avec using MyNamespace;
) à votre structure.
7 ans plus tard et c'est désormais possible
Plus de détails sur son impact sur l'écriture de code et votre code existant ici:
https://praeclarum.org/2018/12/17/nullable-reference-types.html