Как стать автором
Поиск
Написать публикацию
Обновить

Using или Using?

Время на прочтение1 мин
Количество просмотров17K
Заголовок этого сообщения обескураживает, не правда ли? Тем не менее, вы достаточно сообразительны, чтобы догадаться, о чем пойдет речь. На собеседовании по .NET часто задают вопрос: ”Чем отличаются директива using и оператор using?” Иногда перед соискателем ставят дополнительные ловушки, спрашивая, в каких местах программы можно использовать using? Первое, что приходит в голову, это использование директивы using, которая применяется для определения или разрешения использования типов как пространств имен. Например, следующий фрагмент кода демонстрирует включение некоторых пространств имен с помощью директивы using.

using System.IO;
using System.Text;

Погодите! Это не всё! Есть нечто, называемое “директивой псевдонимов (aliasing directive)” и ее можно использовать, как показано в следующей строке кода. Это может быть промежуточной частью ответа на вопрос.

using mynamespace = myproject.module;

Теперь вернемся к оператору using, который задает область видимости, вне которой объект недоступен. Рассмотрим следующий пример:

using(ColorImageFrame imageFrame = e.OpenColorImageFrame())
{
// здесь ваш код 
}

Объект imageFrame определен с помощью блока using. Это означает, что когда выполнение блока кода завершиться, объект imageFrame больше не потребуется, и он может быть уничтоженудален. Такой подход крайне важен для эффективного управления памятью.
Теги:
Хабы:
Всего голосов 35: ↑3 и ↓32-29
Комментарии41

Публикации

Ближайшие события