Domanda

Lo Using Namespace; consumare più memoria?

Al momento sto lavorando su un'applicazione mobile ed ero solo curioso di sapere se tali dichiarazioni utilizzando non necessari che i luoghi di Visual Studio durante la creazione di una classe di rendere la mia applicazione richiede un po 'di memoria extra per l'esecuzione.

È stato utile?

Soluzione

Per dirla semplicemente:. No

Queste informazioni non vengono tradotti in qualsiasi forma di IL. Sono solo scorciatoie per evitare l'uso di (brutti!) I nomi di tipo completo. Ma, se si sta utilizzando VS2008 e / o R # è possibile rimuovere quelli inutilizzati automagicamente.

Altri suggerimenti

I namespace sono un tempo di compilazione unica caratteristica di C # che consentono di risparmiare tempo durante lo sviluppo. Le direttive using sono utilizzati dal compilatore di cercare i nomi tipo stenografia nel codice.

In pratica ogni volta che il compilatore incontra un nome di tipo nel codice che non sa che ci vuole ogni direttiva using e antepone al nome del tipo e vede se quel nome completo si risolve.

Una volta che l'applicazione è compilata gli spazi dei nomi e le direttive using se ne sono andati come IL non ha bisogno di loro.

Se per "memoria" vuoi dire "Devo ricordare perché ho messo quelli che utilizzano istruzioni nella parte superiore, in primo luogo" allora sì.

Ma, no, non nel senso che intendi. assembly .NET sono tipicamente caricati on-demand, in modo da non incorrere in alcuna penalità prestazioni avendo tali dichiarazioni in più. Tuttavia, per il bene di manutenibilità, ti consigliamo di rimuoverli.

Ecco le informazioni di Microsoft sulla parola chiave "utilizzando" in questo contesto: http : //msdn.microsoft.com/en-us/library/sf0df423.aspx . Fondamentalmente fornisce un'alternativa all'utilizzo il nome completo su un assieme, ma in realtà non importa o includere gli assembly nella memoria con quella particolare parola.

No, non è così. E 'semplicemente una scorciatoia per consentire di utilizzare solo il nome del tipo

StringBuilder

A differenza del nome di tipo namespace-qualificati:

System.Text.StringBuilder

Nel file in cui viene dichiarata l'istruzione utilizzando.

No, servirà solo a rendere il compilatore eseguire un pochino più lenta:)

Non è così. E 'utilizzato in modo che non c'è bisogno di definire l'oggetto che si sta utilizzando per il nome completo. Invece di System.IO.File si può solo fare file se si sta utilizzando System.IO.

Non è caricato nella memoria fino a quando effettivamente creato l'oggetto. A differenza di C ++ l'intera libreria non viene importato, perché il framework .NET è installato sul computer di destinazione e caricato nel GAC, e la vostra dll personalizzato si trovano nella cartella bin della cartella dell'applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top