против использования [namespace.x.xx]? - PullRequest
1 голос
/ 22 июля 2010

Я видел, что вы можете сделать

using System.IO

и используйте

Path.GetDirectoryName(blah blah)

ИЛИ непосредственно используйте

System.IO.Path.GetDirectoryName(blah blah);

Есть ли разница между ними с точки зрения производительности ?

Загружает ли using System.IO все статические классы в пространстве имен в память, что приводит к использованию большего количества памяти, или среда достаточно умна, чтобы этого избежать? Если да, то как?

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

Любое понимание будет с благодарностью:)

Ответы [ 2 ]

6 голосов
/ 22 июля 2010

Нет, они компилируются в один и тот же IL.Это просто вопрос исходного кода - обычно удобнее читать короткое имя, чем полное имя.

Результаты компиляции в любом случае будут идентичны.

3 голосов
/ 22 июля 2010

Если вы посмотрите на IL, нет никакой разницы в двух методах.Все имена классов полностью определены.Статические классы загружаются только при первом использовании класса.Итак, оба метода эквивалентны в конечном коде.

Кроме того, я считаю, что гораздо полезнее просмотреть объявления using, чтобы увидеть, что делает класс с точки зрения внешних по отношению к классу вещей (дляНапример, это класс, выполняющий ввод-вывод или генерирующий XML).Это вместо того, чтобы всегда объявлять полностью определенные имена классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...