Visual Studio erstellt automatisch Anweisungen für Sie, wenn Sie eine neue Seite oder ein neues Projekt erstellen. Einige davon werden Sie niemals verwenden.
Visual Studio verfügt über die nützliche Funktion "Nicht verwendete Verwendungen entfernen".
Ich frage mich, ob sich dies negativ auf die Programmleistung auswirkt, wenn die using-Anweisungen, auf die nie zugegriffen wird, oben in der Datei erwähnt werden.
c#
.net
visual-studio
using
KdgDev
quelle
quelle
Antworten:
Eine nicht verwendete Verwendung hat keine Auswirkungen auf die Laufzeitleistung Ihrer Anwendung.
Dies kann die Leistung der IDE und die gesamte Kompilierungsphase beeinträchtigen. Der Grund dafür ist, dass ein zusätzlicher Namespace erstellt wird, in dem die Namensauflösung erfolgen muss. Diese sind jedoch in der Regel geringfügig und sollten in den meisten Szenarien keine spürbaren Auswirkungen auf Ihre IDE-Erfahrung haben.
Aus den gleichen Gründen kann dies auch die Leistung der Auswertung von Ausdrücken im Debugger beeinträchtigen.
quelle
Nein, es ist nur eine Sache im Kompilierungs- / Codierungsstil. .NET-Binärdateien verwenden vollständig qualifizierte Namen unter der Haube.
quelle
Keine Auswirkung auf die Ausführungsgeschwindigkeit, aber möglicherweise geringfügige Auswirkungen auf die Kompilierungsgeschwindigkeit / Intellisense, da mehr potenzielle Namespaces für die Suche nach der richtigen Klasse vorhanden sind. Ich würde mir darüber keine Sorgen machen, aber Sie können den Menüpunkt Verwendungen organisieren verwenden, um die using-Anweisungen zu entfernen und zu sortieren.
quelle
Der folgende Link Eine gute Lektüre zum Entfernen nicht verwendeter Referenzen erklärt, wie nützlich es ist, nicht verwendete Referenzen aus der Anwendung zu entfernen.
Nachfolgend einige Auszüge aus dem Link:
Indem Sie nicht verwendete Referenzen in Ihrer Anwendung entfernen, verhindern Sie, dass
CLR
die nicht verwendeten referenzierten Module zur Laufzeit geladen werden. Dies bedeutet, dass Sie die Startzeit Ihrer Anwendung verkürzen, da das Laden jedes Moduls einige Zeit in Anspruch nimmt und vermieden wird, dass der Compiler Metadaten lädt, die niemals verwendet werden. Je nach Größe der einzelnen Bibliotheken wird Ihre Startzeit möglicherweise erheblich reduziert. Dies bedeutet nicht, dass Ihre Anwendung nach dem Laden schneller ist, aber es kann sehr praktisch sein zu wissen, dass sich Ihre Startzeit möglicherweise verkürzt.Ein weiterer Vorteil des Entfernens nicht verwendeter Referenzen besteht darin, dass Sie das Risiko von Konflikten mit Namespaces verringern. Wenn Sie beispielsweise beide haben
System.Drawing
und auf dieSystem.Web.UI.WebControls
verwiesen wird, kann es zu Konflikten kommen, wenn Sie versuchen, auf dieImage
Klasse zu verweisen . Wenn Sie in Ihrer Klasse Direktiven verwenden, die diesen Referenzen entsprechen, kann der Compiler nicht sagen, welche davon verwendet werden sollen. Wenn Sie bei der Entwicklung regelmäßig die automatische Vervollständigung verwenden, wird durch das Entfernen nicht verwendeter Namespaces die Anzahl der Werte für die automatische Vervollständigung in Ihrem Texteditor während der Eingabe verringert.quelle
Nein, beim Kompilieren eines Programms sind mehrere Prozesse erforderlich. Wenn der Compiler nach Referenzen (Klassen, Methoden) sucht, werden nur die im Code verwendeten verwendet. Die using-Direktive teilt dem Compiler nur mit, wo er suchen soll. Viele nicht verwendete using-Anweisungen können möglicherweise zu Leistungsproblemen führen, jedoch nur zur Kompilierungszeit. Zur Laufzeit ist der gesamte externe Code ordnungsgemäß verknüpft oder als Teil der Binärdatei enthalten.
quelle
Code, der nicht ausgeführt wird, hat keinen Einfluss auf die Leistung eines Programms.
quelle