Оглавление:
Определение - Что означает использование оператора?
Оператор using в C # - это оператор, который содержит ключевое слово «using» и предоставляет синтаксис для определения области использования объекта ресурса.
Оператор using полезен для объектов, время жизни которых находится в методе или блоке, в котором они созданы. Этот оператор уменьшает код, в котором выполняются ресурсоемкие операции, обеспечивая более простой синтаксис и устраняя необходимость в нескольких вызовах для освобождения ресурсов в конце их области действия. Поскольку это упрощает код, необходимый для создания, очистки и обработки ошибки при использовании объекта ресурса, оператор using экономит время и усилия на разработку.
Техопедия объясняет, как использовать заявление
Платформа .NET разработана с функцией автоматического управления памятью, с помощью которой память, выделенная для объекта, освобождается в недетерминированном режиме всякий раз, когда среда Common Language Runtime решает выполнить сборку мусора (GC). Однако неуправляемые ресурсы, такие как файловые дескрипторы, сетевые подключения и т. Д., Должны быть освобождены как можно быстрее. Оператор использования позволяет разработчику указать момент, когда такие ограниченные ресурсы должны быть освобождены.
Оператор using принимает один параметр - ресурс, представленный классом или структурой, реализующей интерфейс System.IDisposable. Единственный метод, который должен быть реализован через интерфейс, - это «Dispose», который может включать код, необходимый для очистки ресурса. Если этот метод не вызывается, GC автоматически выполняет удаление.
Например, оператор using можно использовать для открытия потока файлов, создав объект типа System.IO.FileStream, который можно использовать в рамках блока кода оператора using.
Компилятор C # переводит код для оператора using в три раздела Microsoft Intermediate Language:
- Приобретение ресурса в разделе для выделения памяти ресурса
- Использование ресурса, заключенного в блок try
- Удаление ресурса путем его освобождения (вызов метода «Dispose» объекта ресурса) в блоке finally
Это определение было написано в контексте C #
