накладные расходы на неиспользуемые объявления об использовании? - PullRequest
48 голосов
/ 13 марта 2009

Я только что установил resharper, и он дает мне знать пространства имен, которые я на самом деле не использую в каждом из моих классов.

, что приводит меня к вопросу - есть ли какие-либо издержки, если оставить эти неиспользуемые объявления в?

это просто вопрос жесткого кода или производительность вызывает вызов этих пространств имен, когда мне это не нужно?

Ответы [ 4 ]

96 голосов
/ 13 марта 2009

С Ответы команды C # на часто задаваемые вопросы :

Когда вы добавляете ссылки на сборки или использовать ключевое слово «using», csc.exe будет игнорировать любую сборку, которая вы на самом деле не использовали в Ваш код ... Не тратьте впустую свое время неиспользованные операторы или сборка "using" ссылки из вашего приложения. The Компилятор C # сделает это за вас автоматически.

Вы можете убедиться, что это действительно так, позвонив Assembly.GetReferencedAssemblies(); вы увидите, что все, что не используется, на самом деле не будет включено в список.

Основная утилита для удаления неиспользуемых - это

  • Проще увидеть, что на самом деле использует ваш код
  • Это предотвратит загрязнение вашего Интеллекта вещами, которые вы на самом деле не собираетесь использовать.
39 голосов
/ 13 марта 2009

Есть несколько причин, по которым можно урезать using операторы:

  • VS IntelliSense работает быстрее, когда для просмотра меньше данных

Однако учтите, что все эти причины зависят от времени компиляции. Компилятор автоматически удаляет неиспользованные using с.

10 голосов
/ 13 марта 2009

Редактор кода C # в Visual Studio 2008 имеет функцию удаления неиспользуемых с помощью операторов .

Щелкните правой кнопкой мыши и выберите Упорядочить использование | Удалить неиспользованные использования .

10 голосов
/ 13 марта 2009

Самым большим "накладным расходом" в выражениях unused using является понимание вашего кода:)

Удаление неиспользуемых из них делает ваш код более понятным и удобным для чтения и обслуживания.

...