Visual Studio будет автоматически создавать операторы using каждый раз, когда вы создаете новую страницу или проект. Некоторые из них вы никогда не будете использовать.
В Visual Studio есть полезная функция «удалить неиспользуемые использования».
Интересно, есть ли какое-либо отрицательное влияние на производительность программы, если операторы using, к которым никогда не осуществляется доступ, остаются упомянутыми в верхней части файла.
c#
.net
visual-studio
using
KdgDev
источник
источник
Ответы:
Неиспользованное использование не влияет на производительность вашего приложения во время выполнения.
Это может повлиять на производительность IDE и общую фазу компиляции. Причина в том, что он создает дополнительное пространство имен, в котором должно происходить разрешение имен. Однако они, как правило, незначительны и не должны оказывать заметного влияния на вашу среду IDE для большинства сценариев.
Это также может повлиять на производительность вычисления выражений в отладчике по тем же причинам.
источник
Нет, это просто стиль компиляции / кодирования. Бинарные файлы .NET используют полностью определенные имена под капотом.
источник
Не влияет на скорость выполнения, но может немного повлиять на скорость компиляции / intellisense, поскольку существует больше потенциальных пространств имен для поиска подходящего класса. Я бы не стал особо беспокоиться об этом, но вы можете использовать пункт меню «Организовать использование», чтобы удалить и отсортировать операторы using.
источник
Следующая ссылка Хорошее чтение о том, почему нужно удалять неиспользуемые ссылки объясняет, как полезно удалять неиспользуемые ссылки из приложения.
Ниже приведены некоторые выдержки из ссылки:
Удаляя все неиспользуемые ссылки в вашем приложении, вы предотвращаете
CLR
загрузку неиспользуемых ссылочных модулей во время выполнения. Это означает, что вы сократите время запуска вашего приложения, потому что требуется время для загрузки каждого модуля и избегает наличия метаданных загрузки компилятора, которые никогда не будут использоваться. Вы можете обнаружить, что в зависимости от размера каждой библиотеки время запуска заметно сокращается. Это не означает, что ваше приложение будет быстрее после загрузки, но может быть очень удобно знать, что время запуска может сократиться.Еще одно преимущество удаления неиспользуемых ссылок состоит в том, что вы снижаете риск конфликтов с пространствами имен. Например, если у вас есть и то,
System.Drawing
и другоеSystem.Web.UI.WebControls
, вы можете обнаружить конфликты при попытке сослаться наImage
класс. Если в вашем классе есть директивы using, соответствующие этим ссылкам, компилятор не может сказать, какие из них использовать. Если вы регулярно используете автозаполнение при разработке, удаление неиспользуемых пространств имен уменьшит количество значений автозаполнения в текстовом редакторе по мере ввода.источник
Нет, компиляция программы включает несколько процессов. Когда компилятор начнет искать ссылки (классы, методы), он будет использовать только те, которые используются в коде. Директива using только сообщает компилятору, где искать. Многие неиспользуемые операторы using могут иметь проблемы с производительностью, но только во время компиляции. Во время выполнения весь внешний код правильно связан или включен как часть двоичного файла.
источник
Неисполняемый код не влияет на производительность программы.
источник