Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La définition du langage C# nécessite une bibliothèque standard pour avoir certains types et certains membres accessibles sur ces types. Le compilateur génère du code qui utilise ces types et membres requis pour de nombreuses fonctionnalités de langage différentes. Pour cette raison, les versions C# sont prises en charge uniquement pour la version .NET correspondante et les versions ultérieures. Cela garantit le comportement d’exécution correct et la disponibilité de tous les types et membres requis.
Cette dépendance à la fonctionnalité de bibliothèque standard fait partie du langage C# depuis sa première version. Dans cette version, des exemples sont les suivants :
- Exception - utilisé pour toutes les exceptions générées par le compilateur.
-
String - synonyme de
string. -
Int32 - synonyme de
int.
Cette première version était simple : le compilateur et la bibliothèque standard fournis ensemble, et il n’y avait qu’une seule version de chacun d’eux.
Les versions ultérieures de C# ont parfois ajouté de nouveaux types ou membres aux dépendances. Les exemples incluent INotifyCompletion, CallerFilePathAttribute, et CallerMemberNameAttribute. C# 7.0 a ajouté une dépendance de ValueTuple pour implémenter la fonctionnalité linguistique tuples. C# 8 nécessite System.Index et System.Range pour les plages et les index, entre autres fonctionnalités. Chaque nouvelle version peut ajouter des exigences supplémentaires.
L’équipe de conception du langage travaille à minimiser la complexité des types et des membres requis pour une bibliothèque standard conforme. Cet objectif est équilibré par rapport à une conception propre où les nouvelles fonctionnalités de bibliothèque sont incorporées en toute transparence dans le langage. Il y aura de nouvelles fonctionnalités dans les futures versions de C# qui nécessitent de nouveaux types et membres dans une bibliothèque standard. Les outils du compilateur C# sont désormais découplés du cycle de publication des bibliothèques .NET sur les plateformes prises en charge.