Pregunta

¿Tiene Using Namespace; consumir más memoria?

Actualmente estoy trabajando en una aplicación móvil y yo era sólo curiosidad si los que utilizan las declaraciones que no sean necesarios los lugares de Visual Studio al crear una clase que mi aplicación requiere algo de memoria adicional para funcionar.

¿Fue útil?

Solución

En pocas palabras:. No

Estas declaraciones no se traducen en cualquier forma de IL. Son sólo atajos para evitar el uso de nombres de tipo completo (feos!). Pero, si usted está utilizando VS2008 y / o R # puede eliminar las no utilizadas automágicamente.

Otros consejos

Los espacios de nombres son un tiempo de compilación única característica de C # que le permiten ahorrar tiempo durante el desarrollo. Las directivas using son utilizados por el compilador para buscar nombres de tipo de taquigrafía en el código.

Básicamente, cada vez que el compilador encuentra un nombre teclee el código que no sabe que se necesita cada directiva using y antepone al nombre del tipo y ve si ese nombre completo se resuelve.

Una vez que la aplicación se compila los espacios de nombres y las directivas using se han ido como la IL no los necesita.

Si por "memoria" que significa "tengo que recordar eso que pongo los que usan declaraciones en la parte superior en el primer lugar" entonces sí.

Sin embargo, no hay ni siquiera en el sentido de que se refiere. NET son típicamente cargan bajo demanda, por lo que no incurrirá en ninguna penalización en el rendimiento por tener esas declaraciones adicionales. Sin embargo, en aras de la facilidad de mantenimiento, usted querrá para eliminarlos.

aquí está la información de Microsoft en el "uso" palabra clave en este contexto: http : //msdn.microsoft.com/en-us/library/sf0df423.aspx . que básicamente proporciona una alternativa al uso del nombre completo en una asamblea, pero en realidad no importar o incluir las asambleas en la memoria con esa palabra clave en particular.

No, no lo hace. Simplemente es un atajo que le permite usar solamente el nombre de tipo

StringBuilder

A diferencia del nombre del tipo de espacio de nombres:

System.Text.StringBuilder

En el archivo en el que se declara el estado utilizando.

No, sólo hará que el compilador ejecuta un poquito más lento:)

No es así. Se utiliza de modo que usted no tiene que definir el objeto que está utilizando su nombre completo. En lugar de System.IO.File que sólo pueden hacer los archivos si está utilizando System.IO.

No se carga en la memoria hasta que realmente se crea el objeto. A diferencia de C ++ toda la biblioteca no se importa, ya que el marco .NET está instalado en el equipo de destino y se carga en la GAC, y su costumbre .dll están en la carpeta bin de la carpeta de la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top