Стоит ли удалять «использование системы» из моих файлов? - PullRequest
5 голосов
/ 11 января 2012

Разработал серию POCO для моего проекта, и только что понял, что некоторые из них не нуждаются в предложении using System;.

Есть ли штраф за производительность или размер за оставление неиспользованным using <module>; на моих объектах или проекте?

Из-за этого мои классы станут больше, медленнее или раздутыми, или компилятор / оптимизатор достаточно умен, чтобы позаботиться об этом?

Ответы [ 7 ]

5 голосов
/ 11 января 2012

нет проблем с производительностью нет.

это просто вопрос читабельности (я бы предложил их убрать)

подробнее на: Почему вы должны удалять ненужные C # с помощью директив?

1 голос
/ 11 января 2012

Нет потери производительности при использовании неиспользованных операторов using в вашем коде. Они не отображаются - это скомпилированная DLL в любой форме (они существуют в PDB).

Однако, если вы знаете, что они недействительны, обычно их удаляют. Неиспользуемые использования по сути указывают на ложную зависимость вашего кода от набора типов и методов расширения.

Определение того, какое использование не используется, является утомительным процессом. Я считаю, что лучше всего установить такой инструмент, как PowerCommands, и позволить ему выполнить работу по сохранению файла.

1 голос
/ 11 января 2012

Все "использующие систему";оператор действительно позволяет вам использовать это пространство имен без полностью определенных имен.Это никак не влияет на производительность во время выполнения.

0 голосов
/ 11 января 2012

Это никоим образом не влияет на вывод компилятора или производительность скомпилированной программы!

Его можно удалить как часть личных предпочтений.Я бы лично порекомендовал это, так как это ускорит компиляцию (меньше пространства имен для поиска компилятором), а также улучшит производительность intellisense.

0 голосов
/ 11 января 2012

Директива using - это просто синтаксический сахар.

Добавление с использованием ссылок не повлияет на производительность, кроме предельной разницы во времени компиляции.

0 голосов
/ 11 января 2012

Если вы не используете справочную / сборочную или расширенную функциональность, например, используя System.Linq;по умолчанию добавляется в проекты VS2010 .. если вы его не используете .. просто удалите его .. никаких проблем с производительностью

0 голосов
/ 11 января 2012

Это не приносит ни прироста производительности, ни удара.

Я удаляю все неиспользованные и сортирую все используемые использования как стиль кода (аккуратность). Вы можете сделать это через контекстное меню Visual Studio (я привязал его к горячей клавише).

...