Question

Est-ce que Using Namespace; consomme plus de mémoire?

Je travaille actuellement sur une application mobile et j'étais curieux de savoir si ces déclarations non nécessaires à l'aide que les lieux de studio visuels lors de la création d'une classe faire ma demande nécessite une mémoire supplémentaire pour exécuter.

Était-ce utile?

La solution

Pour le dire simplement:. Pas

Ces déclarations ne sont pas traduites dans une forme d'IL. Ils ne sont que des raccourcis pour éviter d'utiliser (laid!) Noms de type qualifiés. Mais, si vous utilisez VS2008 et / ou R # vous pouvez supprimer les inutilisés automagiquement.

Autres conseils

espaces de noms sont une compilation seule caractéristique de C # qui vous permettent de gagner du temps au cours du développement. Les directives de using sont utilisées par le compilateur pour rechercher des noms de type sténographie dans votre code.

Au fond chaque fois que le compilateur rencontre un nom de type dans votre code qu'il ne sait pas qu'il faut à chaque directive using et prepends au nom du type et voit si ce nom qualifié résout.

Une fois que vous application est compilée les espaces de noms et les directives de using sont partis comme l'IL ne les ont pas besoin.

Si par « mémoire » vous voulez dire « Je dois me rappeler pourquoi je mets ces déclarations en utilisant au sommet en premier lieu » alors oui.

Mais, non pas dans le sens que vous voulez dire. ensembles .NET sont généralement chargés sur la demande, de sorte que vous ne contractera aucune pénalité de performance en ayant ces déclarations supplémentaires. Cependant, pour le bien de maintenabilité, vous aurez envie de les supprimer.

Voici les informations Microsoft sur le mot-clé « en utilisant » dans ce contexte: http : //msdn.microsoft.com/en-us/library/sf0df423.aspx . il fournit essentiellement une alternative à l'utilisation du nom complet sur un ensemble, mais il n'importe ou comprend pas réellement les assemblées en mémoire avec ce mot clé.

Non, il ne fonctionne pas. Il est tout simplement un raccourci pour vous permettre d'utiliser uniquement le nom du type

StringBuilder

Contrairement au nom du type espace de nom qualifié:

System.Text.StringBuilder

Dans le fichier où l'instruction à l'aide est déclarée.

Non, il ne fera que le compilateur exécuter un petit peu plus lent:)

Il ne fonctionne pas. Il est utilisé de sorte que vous ne devez pas définir l'objet que vous utilisez votre nom complet. Au lieu de System.IO.File vous pouvez juste faire du fichier si vous utilisez System.IO.

Il est pas chargé dans la mémoire jusqu'à ce que vous créez en fait l'objet. Contrairement à C ++ toute la bibliothèque n'est pas importée, car le framework .NET est installé sur la machine cible et chargé dans le GAC, et votre .dll personnalisé sont dans le dossier bin du dossier d'application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top