Visual Studio crée automatiquement des instructions using pour vous chaque fois que vous créez une nouvelle page ou un nouveau projet. Vous n'utiliserez jamais certains d'entre eux.
Visual Studio a la fonctionnalité utile pour "supprimer les utilisations inutilisées".
Je me demande s'il y a un effet négatif sur les performances du programme si les instructions using qui ne sont jamais consultées, restent mentionnées en haut du fichier.
c#
.net
visual-studio
using
KdgDev
la source
la source
Réponses:
Une utilisation non utilisée n'a aucun impact sur les performances d'exécution de votre application.
Cela peut affecter les performances de l'EDI et la phase de compilation globale. La raison en est qu'il crée un espace de noms supplémentaire dans lequel la résolution de noms doit avoir lieu. Cependant, ceux-ci ont tendance à être mineurs et ne devraient pas avoir un impact notable sur votre expérience IDE pour la plupart des scénarios.
Cela peut également affecter les performances de l'évaluation des expressions dans le débogueur pour les mêmes raisons.
la source
Non, c'est juste une chose de style de compilation / codage. Les binaires .NET utilisent des noms complets sous le capot.
la source
Aucun effet sur la vitesse d'exécution, mais il peut y avoir un léger effet sur la vitesse de compilation / intellisense car il y a plus d'espaces de noms potentiels pour rechercher la classe appropriée. Je ne m'inquiéterais pas trop à ce sujet, mais vous pouvez utiliser l'élément de menu Organiser les utilisations pour supprimer et trier les instructions using.
la source
Le lien suivant Une bonne lecture sur pourquoi supprimer les références inutilisées explique comment il est utile de supprimer les références inutilisées de l'application.
Voici quelques extraits du lien:
En supprimant toutes les références inutilisées dans votre application, vous empêchez le
CLR
de charger les modules référencés inutilisés lors de l'exécution. Ce qui signifie que vous réduirez le temps de démarrage de votre application, car le chargement de chaque module prend du temps et évite que le compilateur charge des métadonnées qui ne seront jamais utilisées. Vous constaterez peut-être qu'en fonction de la taille de chaque bibliothèque, votre temps de démarrage est sensiblement réduit. Cela ne veut pas dire que votre application sera plus rapide une fois chargée, mais il peut être assez pratique de savoir que votre temps de démarrage peut être réduit.Un autre avantage de la suppression des références inutilisées est que vous réduirez le risque de conflits avec les espaces de noms. Par exemple, si vous avez à la fois
System.Drawing
etSystem.Web.UI.WebControls
référencé, vous pouvez constater que vous obtenez des conflits lorsque vous essayez de référencer laImage
classe. Si vous avez des directives using dans votre classe qui correspondent à ces références, le compilateur ne peut pas dire laquelle de celles à utiliser. Si vous utilisez régulièrement la saisie semi-automatique lors du développement, la suppression des espaces de noms inutilisés réduira le nombre de valeurs de saisie semi-automatique dans votre éditeur de texte à mesure que vous tapez.la source
Non, plusieurs processus sont impliqués lors de la compilation d'un programme. Lorsque le compilateur commencera à rechercher des références (classes, méthodes), il n'utilisera que celles utilisées dans le code. La directive using indique uniquement au compilateur où chercher. Un grand nombre d'instructions using inutilisées pourraient peut-être avoir un problème de performances, mais juste au moment de la compilation. Au moment de l'exécution, tout le code extérieur est correctement lié ou inclus dans le binaire.
la source
Le code qui ne s'exécute pas n'affecte pas les performances d'un programme.
la source