Program Visual Studio automatycznie utworzy przy użyciu instrukcji za każdym razem, gdy utworzysz nową stronę lub projekt. Niektóre z nich nigdy nie będą używane.
Visual Studio ma przydatną funkcję „usuwania nieużywanych zastosowań”.
Zastanawiam się, czy wystąpi jakikolwiek negatywny wpływ na wydajność programu, jeśli instrukcje using, do których nigdy nie ma dostępu, pozostają wymienione na początku pliku.
c#
.net
visual-studio
using
KdgDev
źródło
źródło
Odpowiedzi:
Nieużywane użycie nie ma wpływu na wydajność aplikacji w czasie wykonywania.
Może to wpływać na wydajność środowiska IDE i ogólną fazę kompilacji. Powodem jest to, że tworzy dodatkową przestrzeń nazw, w której musi nastąpić rozpoznawanie nazw. Jednak są one zwykle niewielkie i nie powinny mieć zauważalnego wpływu na wrażenia ze środowiska IDE w większości scenariuszy.
Z tych samych powodów może również wpływać na wydajność obliczania wyrażeń w debugerze.
źródło
Nie, to tylko kwestia czasu kompilacji / stylu kodowania. Pliki binarne .NET używają w pełni kwalifikowanych nazw pod maską.
źródło
Brak wpływu na szybkość wykonywania, ale może mieć niewielki wpływ na szybkość kompilacji / inteligencję, ponieważ istnieje więcej potencjalnych przestrzeni nazw do wyszukiwania odpowiedniej klasy. Nie martwiłbym się tym zbytnio, ale możesz użyć elementu menu Organizuj użycie, aby usunąć i posortować instrukcje using.
źródło
Poniższy link Dobra lektura o tym, dlaczego usuwać nieużywane odniesienia, wyjaśnia, w jaki sposób przydatne jest usuwanie nieużywanych odniesień z aplikacji.
Poniżej kilka fragmentów z linku:
Usuwając wszelkie nieużywane odwołania w aplikacji, uniemożliwiasz
CLR
załadowanie nieużywanych modułów, do których istnieją odwołania, w czasie wykonywania. Oznacza to, że skrócisz czas uruchamiania aplikacji, ponieważ ładowanie każdego modułu zajmuje trochę czasu i pozwala uniknąć posiadania metadanych ładowania kompilatora, które nigdy nie będą używane. Może się okazać, że w zależności od rozmiaru każdej biblioteki czas uruchamiania ulega znacznemu skróceniu. Nie oznacza to, że aplikacja będzie działać szybciej po załadowaniu, ale warto wiedzieć, że czas uruchamiania może się skrócić.Kolejną zaletą usunięcia nieużywanych odniesień jest zmniejszenie ryzyka konfliktów z przestrzeniami nazw. Na przykład, jeśli masz oba
System.Drawing
iSystem.Web.UI.WebControls
odwołujesz się, możesz zauważyć, że wystąpią konflikty podczas próby odwołania się doImage
klasy. Jeśli używasz w swojej klasie dyrektyw, które pasują do tych odwołań, kompilator nie może określić, której z nich użyć. Jeśli podczas programowania regularnie używasz autouzupełniania, usunięcie nieużywanych przestrzeni nazw zmniejszy liczbę wartości autouzupełniania w edytorze tekstu podczas pisania.źródło
Nie, kompilacja programu obejmuje kilka procesów. Kiedy kompilator zacznie szukać referencji (klas, metod), użyje tylko tych użytych w kodzie. Dyrektywa using mówi tylko kompilatorowi, gdzie ma szukać. Wiele nieużywanych instrukcji using może mieć problem z wydajnością, ale tylko w czasie kompilacji. W czasie wykonywania cały zewnętrzny kod jest odpowiednio linkowany lub dołączany jako część pliku binarnego.
źródło
Kod, który się nie wykonuje, nie wpływa na wydajność programu.
źródło