Делает 'Используя Пространство имен'; использовать больше памяти?

Проблема была точно такой же, как подчеркивали bruno desthuillers, которая углубилась из-за базового понимания отношений имя-значение в python.

В начале кода все записи словарных реакций объявляются как имена для одного значения - списка под названием видов_lhs, следовательно, когда я изменил один экземпляр, он изменил их все.

7
задан GEOCHET 17 February 2009 в 18:29
поделиться

7 ответов

Помещать его просто: нет.

Те операторы не переводятся ни в какую форму IL. Они - просто ярлыки для избегания использования (ужасный!) полностью определенные имена типов. Но при использовании VS2008 и/или R#, можно удалить неиспользованные автоволшебно.

14
ответ дан 6 December 2019 в 06:25
поделиться

Если "памятью" Вы подразумеваете, что "Я должен помнить, почему я поместил тех, которые используют операторы наверху во-первых" затем да.

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

3
ответ дан 6 December 2019 в 06:25
поделиться

Пространства имен являются временем компиляции только функция C#, которые позволяют Вам экономить время во время разработки. using директивы используются компилятором для поиска кратких Имен типов в коде.

В основном каждый раз компилятор встречается с именем типа в Вашем коде, что это не знает, что берет каждого using директива и предварительно ожидает его к имени типа и видит, решает ли то полностью определенное имя.

Однажды Вы приложение компилируется пространства имен и using директив не стало, поскольку IL не нужны они.

5
ответ дан 6 December 2019 в 06:25
поделиться

вот информация о Microsoft о ключевом слове "использования" в этом контексте: http://msdn.microsoft.com/en-us/library/sf0df423.aspx. это в основном обеспечивает альтернативу использованию полностью определенного имени на блоке, но это на самом деле не импортирует или включает блоки в память с тем конкретным ключевым словом.

3
ответ дан 6 December 2019 в 06:25
поделиться

Нет, это не делает. Это просто - стенография, чтобы позволить Вам использовать только имя типа

StringBuilder

В противоположность квалифицированному к пространству имен имени типа:

Система. Текст. StringBuilder

В файле, где оператор использования объявляется.

2
ответ дан 6 December 2019 в 06:25
поделиться

Нет, это только заставит компилятор выполнить крошечный бит медленнее :)

1
ответ дан 6 December 2019 в 06:25
поделиться

Это не делает. Это используется так, чтобы Вы не определяли объект, который Вы используете своим полным именем. Вместо Системы. IO.File можно просто сделать Файл при использовании Системы. IO.

Это не загружается в память, пока Вы на самом деле не создаете объект. В отличие от C++ не импортируется вся библиотека, потому что платформа.NET установлена на целевой машине и загружена в GAC, и Ваши пользовательские .dll находятся в папке мусорного ведра папки приложения.

0
ответ дан 6 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

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