Задать вопрос
swanrnd
@swanrnd
Издатель HTML5 игр

Влияет ли using в C# на производительность?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;


Рассудите наш спор.
Стоит ли чистить это или нет, знаю, что в PHP include стоит чистить, если не нужны.

Интересует практическая польза.
  • Вопрос задан
  • 591 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 1
AxisPod
@AxisPod
Нет, не влияет. Вообще никак, это только подсказка компилятору, где искать имена сущностей, платформа clr всегда оперирует полными именами и в IL всегда полные имена, со всеми неймспейсами.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Nipheris
@Nipheris Куратор тега C#
Практическая польза - в читаемости кода. Когда начинаешь читать исходник, просматриваешь юзинги и понимаешь, какими сущностями тут собираются оперировать.

А касаемо производительности - вы путаете компиляцию и интерпретацию, а также using как импорт имен и include как вставку содержимого другого файла.
Компилятор C# разберется с используемыми именами еще на стадии компиляции, поэтому он либо все их однозначно сопоставит с полными именами, либо выдаст ошибку. Конечно, когда импортируется меньше имен, компиляция будет немного быстрее, но это а) не влияет на производительность скомпилированной сборки; б) куда менее важно, чем читабельность кода, которая пострадает первой от 30-ти using-ов в одном файле.

Кстати, большое количество using это еще и сигнал о необходимости разбить исходный код на несколько файлов.
Ответ написан
Комментировать
GreenBee
@GreenBee
ASP.NET программист
1. using в C# не подключает никаких сборок, в отличие от PHPшного include, а поэтому на производительность влиять никак не может.
2. Поставьте себе CodeMaid и он будет чистить ненужные юзинги, пробелы, табуляции... Единственный момент, надо быть внимательнее - он же удаляет все неиспользованные using, в том числе using System. И в какой то момент вы будете вносить правки, а у вас DateTime подчеркивается - не нервничаем, а просто добавляем юзинг.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы