Что такое using (...) в C#
Использование оператора
using
подзволяет программисту указать когда объектам, использующим ресурсы,
следует освободить их. Объект с которым используется
using
должен реализовывать интерфейс
IDisposable. Этот
интерфейс поставляет метод
Dispose, который должен
освободить ресурсы объекта.
Выход из блока
using
осуществляется либо по окончании выполнения кода внутри блока, либо
если будет брошено исключение(exception), однако в любом случае будет
выполнен метод Dispose у объекта, который использовался с
using.
Например следующий код работы с sql
SqlConnection cn = null;
SqlCommand cmd = null;
try
{
cn = new SqlConnection(connectionString);
cmd = new SqlCommand(commandString, cn);
cn.Open();
cmd.ExecuteNonQuery();
}
finally
{
if (null != cmd);
cmd.Dispose();
if (null != cn)
cn.Dispose();
}
может быть элегантно записан используя
using
using (SqlConnection cn = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(commandString, cn))
{
cn.Open();
cmd.ExecuteNonQuery();
}
}