Pourquoi Visual Studio ajoute-t-il une annotation nullable aux nouveaux tableaux ?
En C#, l'initialisation d'un tableau avec new renvoie généralement un type non nullable valeur. Cependant, après avoir utilisé le correctif rapide dans Visual Studio (VS) pour remplacer var par le type explicite, la déclaration de tableau peut contenir une annotation nullable (?) :
TVal[]? zeroBased = new TVal[size];
Cette annotation, ajoutée par VS, implique que le tableau pourrait potentiellement être nul.
Les types nullables en C# et VS
Les types nullables sont types de référence introduits dans C# 8.0 pour permettre aux variables de représenter à la fois des valeurs non nullables et nulles. Lorsque Nullable est activé dans le projet ou que le pragma #nullable est utilisé, VS peut déduire des types de référence nullables pour les variables de type référence déclarées avec var. Cette inférence s'applique même aux tableaux, qui sont des types référence.
Raison de l'annotation nullable
L'annotation nullable dans la déclaration de tableau est le résultat de l'interprétation du code par VS . Selon la spécification C#, var déduit les types de référence nullables pour les types de référence lorsque le contexte nullable est activé. Ceci est destiné à empêcher les affectations nulles potentielles aux variables, qui sont moins évidentes lors de l'utilisation de var.
Impact et utilisation
Dans la plupart des cas, l'annotation nullable sur un nouveau le tableau créé est inutile. Les tableaux initialisés avec new sont garantis non nuls. Cependant, si vous avez l'intention d'attribuer null au tableau plus tard dans votre code, vous souhaiterez peut-être conserver l'annotation nullable pour éviter les erreurs de compilation.
Conclusion
Pendant ce temps peut sembler redondant d'avoir une annotation nullable sur les tableaux nouvellement créés, c'est une conséquence du fait que VS déduit des types nullables pour var dans des contextes nullables. Gardez à l'esprit que cette annotation est facultative lors de la création de tableaux avec new. Cependant, si vous avez l'intention d'attribuer null au tableau par la suite, il peut être avantageux de conserver l'annotation pour garantir la sécurité du type.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!