Чтобы ответить на ваш вопрос «Что делает оператор using?», Вот несколько примеров, иллюстрирующих более распространенное использование оператора using
для обеспечения удаления, на которое ссылаются другие ответы:
Убедиться, что StringWriter и XmlTextWriter удалены (закрыты), когда мы закончим их использование:
using (StringWriter sw = new StringWriter(sb))
using (XmlTextWriter xw = new XmlTextWriter(sw))
{
WebPartManager1.ExportWebPart(partToExport, xw);
}
Убедиться, что и соединение с базой данных, и объект команды расположены:
DataTable dt = new DataTable();
using (SqlConnection connection = new SqlConnection("ConnectionString"))
using (SqlCommand command = new SqlCommand())
{
command.Connection = connection;
command.CommandText = "SELECT * FROM Customers";
connection.Open();
using (SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(reader);
}
}