Во время выполнения не будет иметь значения, используете ли вы в коде неиспользуемые директивы using
или нет.
Директива using
предназначена для удобства, поэтому вы можете написать
using System.IO;
[...]
string path = Path.GetDirectoryName(filename);
вместо того, чтобы писать полное имя
string path = System.IO.Path.GetDirectoryName(filename);
каждый раз, когда вы хотите использовать тип из пространства имен System.IO
.Директива сообщает компилятору, какие пространства имен следует искать для типов, которые используются в файле.Затем компилятор фактически заменит первый пример на второй, т. Е. Код IL в сборке всегда будет использовать полностью определенные имена типов.Неиспользуемые пространства имен не появятся в скомпилированной сборке.
Однако есть причины поддерживать чистый список импортируемых пространств имен.Джон Феминелла заявил в связанном вопросе :
Есть несколько причин, по которым вы хотите их убрать.
- Это бессмысленно.Они не добавляют никакой ценности.
- Это сбивает с толку.Что используется из этого пространства имен?
- Если вы этого не сделаете, то постепенно будете накапливать бессмысленные операторы, поскольку ваш код со временем меняется.
- Статический анализ медленнее.
- Код компилируется быстрее.