День семьдесят пятый. #CSharp8

Новые функции в C# 8.

6. Декларации using

Декларация using – это определение переменной, которому предшествует ключевое слово using. Оно сообщает компилятору, что определяемая переменная должна быть высвобождена в конце текущего блока кода:

static void WriteLinesToFile(IEnumerable<string> lines)

{

using var file = new System.IO.StreamWriter("WriteLines2.txt");

foreach (string line in lines)

{

file.WriteLine(line);

}

// переменная file высвобождается здесь

}

В предыдущем примере переменная file освобождается перед тем, как в коде встречается закрывающая скобка метода. Это конец блока, в котором она определена. Предыдущий пример аналогичен использованию блока using:

using (var file = new System.IO.StreamWriter("WriteLines2.txt"))

{

// …

}

В обоих случаях компилятор вызывает метод Dispose(). Компилятор выбросит ошибку, если выражение в операторе using не является освобождаемым.



Источник: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8