Оператор using (Довідник C#), Microsoft Docs
Надає зручний синтаксис, що забезпечує правильне використання об'єктів IDisposable.
У цьому прикладі показано, як використовувати оператор using.
File і Font є прикладами керованих типів, що мають доступ до некерованих ресурсів (у цьому випадку файл обробляє контексти пристроїв). Існує багато інших видів некерованих ресурсів і типів бібліотек класів, які їх інкапсулюють.
Як правило, при використанні об'єкта IDisposable його слід оголосити і створити в операторі using. Оператор using відповідним чином викликає метод Dispose в об'єкті і (якщо він використовується як описано вище) призводить до виведення об'єкта з області дії відразу після виклику Dispose. У рамках блоку using об'єкт доступу тільки для читання і не може бути змінено або переназначено.
Оператор using гарантує виклик методу Dispose, навіть якщо при викликі методів в об'єкті відбувається виняток. фактично, це спосіб перетворення оператора using компілятором. Наведений раніше приклад коду під час компіляції розширюється до наступного коду (при створенні обмеженої області дії об'єкта зверніть увагу додаткові фігурні дужки).
Декілька екземплярів типу можуть бути оголошені в операторі using, як показано в наступному прикладі.
Можна створити об'єкт ресурсів, а потім передати змінну в оператор using, проте цей спосіб не є рекомендованим. У цьому випадку після того, як елемент управління виводиться з блоку using, об'єкт залишається в області дії, навіть якщо він більше не зможе.звертатися до некерованих ресурсів. Іншими словами, він більше не буде повністю ініціалізований. При спробі використовувати об'єкт поза блоком using виникає ризик виклику виключення. Тому переважно створити об'єкт в операторі using і обмежити область його дії блоком using.
Специфікація мови C#
Для отримання додаткових відомостей див. Специфікація мови C#. Специфікація мови є джерелом інформації про синтаксис і використання мови C#.