Использование оператора C#

Ispol Zovanie Operatora C



При удалении ресурсов, таких как подключения к базе данных, потоки документов или сетевые подключения, используется оператор «using» языка C#, чтобы гарантировать соответствующее удаление. Такой подход упрощает управление объектами, соответствующими интерфейсу IDisposable. Раздел кода, в котором генерируется и используется ресурс, создается при объявлении любого оператора «using». Если для выхода из блока используется обычная обработка или исключение, немедленно вызывается функция Dispose() объекта, чтобы освободить все неконтролируемые ресурсы и выполнить необходимую очистку. В этом руководстве мы рассмотрим ресурсы потока документов с использованием оператора using C#.

Синтаксис:

Оператор «using» в C# используется для удобного и безопасного управления ресурсами, которые необходимо явно удалить. Он следует определенному синтаксису:

с использованием ( РесурсРесурсТипРесурс '=' новый тип ресурса ( ) ) { // Код }
  • Ключевое слово «using» используется для объявления оператора «using».
  • После ключевого слова «using» вы указываете тип ресурса, с которым хотите работать, а затем имя переменной, представляющей ресурс внутри блока. Подпадает любой объект, который реализует интерфейс IDisposable. Вы можете работать с ресурсом внутри блока по мере необходимости.
  • Далее знак равенства (=) используется для присвоения переменной нового экземпляра типа ресурса.
  • Здесь ключевое слово «new» используется для создания нового объекта типа ресурса.
  • Любую дополнительную инициализацию или настройку можно выполнить в круглых скобках после нового ключевого слова.
  • Наконец, вы заключаете код, использующий ресурс, в фигурные скобки {}.

Пример 1:

Начнем с примеров кода C#, чтобы продемонстрировать использование оператора using в C# в этой статье. Приведенный код охватывает программу C#, которая считывает содержимое текстового файла с использованием класса «StreamReader» внутри оператора «using».







Программа начинается с импорта необходимых пространств имен System и System.IO, которые предоставляют классы для операций ввода-вывода и обработки файлов. В программе определяется класс под названием «Dummy». Внутри класса «Dummy» есть метод Main(), который всегда следует рассматривать как запись для любой программы C# для выполнения всей программы от начала до конца.



Метод Main() начинается с объявления строковой переменной «fp» и присвоения ей значения «test.txt». Это представляет путь к текстовому файлу, который нужно прочитать. Чтобы справиться со всеми возможными ошибками, которые могут возникнуть при чтении файлов, используется блок try-catch.



В блоке try оператор using используется для создания экземпляра класса StreamReader. Задача понимания содержимого файла ложится на «StreamReader». Путь к файлу, хранящийся в переменной «fp», передается конструктору «StreamReader», указывая файл, который нужно прочитать.





Внутри блока «using» содержимое файла проверяется построчно с использованием цикла «пока», пока не появится последняя строка документа. Цикл считывает строку, используя метод ReadLine() объекта «StreamReader», и присваивает ее строковой переменной «l». Если строка не равна нулю, она выводится на консоль с помощью Console.WriteLine(l).

Как только конец файла достигнут и больше нет строк для чтения, блок «using» завершается, и объект «StreamReader» автоматически удаляется из-за оператора «using». Блок catch активируется всякий раз, когда при чтении документа возникает исключение IOException. Сообщение об исключении получается с помощью e.Message, а сообщение об ошибке отображается на консоли с помощью Console.WriteLine().



Выполнение программы завершается и отображается вывод консоли. Предполагая, что файл «test.txt» существует и содержит несколько строк текста, выходные данные этого кода — это содержимое файла, которое выводится на консоль, как показано на следующем прикрепленном изображении. Каждая строка отображается отдельно в выводе:

используя систему ;

с помощью системы. ИО ;

класс Манекен {

статический пустота Основной ( ) {

строка fp '=' 'тест.txt' ;

пытаться {

с использованием ( Читатель StreamReader '=' новый StreamReader ( фп ) )

{

строка л ;

пока ( ( л '=' читатель. ЧитатьЛайну ( ) ) '=' нулевой )

{

Консоль. WriteLine ( л ) ;

}

}

}

ловить ( IOException e ) {

Консоль. WriteLine ( 'Произошла ошибка: ' + Это. Сообщение ) ;

}

}

}

Примечание: Если файл «test.txt» не существует или возникает проблема с доступом к файлу или его чтением, выполняется блок catch, и на консоли отображается сообщение об ошибке, указывающее на произошедшее конкретное исключение.

Пример 2:

Вот еще один простой пример, демонстрирующий использование оператора using C# со StreamWriter для записи данных в файл. Вот объяснение кода и его ожидаемый результат. Код начинается с объявления класса «Dummy» и метода «Main», который в конечном итоге запускает и завершает программу.

В методе Main объявляется строковая переменная «fp» и инициализируется путем к файлу «test.txt». Документ, на котором записана информация, представлен этим. Чтобы справиться с любым возможным исключением IOException, которое может возникнуть в процессе написания документа, программа заключена в блок try-catch.

Внутри блока try создается объект StreamWriter с именем «писатель» и инициализируется с помощью оператора «using». StreamWriter отвечает за запись символов в файл. Две отдельные строки содержимого добавляются в документ внутри раздела «using» с помощью функции WriteLine объекта записи. После выхода из блока автоматически вызывается метод Dispose() StreamWriter, который гарантирует запись всех ожидающих данных в файл и освобождение необходимых ресурсов.

Наконец, за пределами блока «Использование» отображается надпись «Данные записаны успешно». На консоли отображается сообщение, которое демонстрирует, что операция записи документа прошла успешно и без ошибок. Блок catch активируется, если в процессе записи документа возникает какое-либо исключение IOException. В этом случае на консоли отображается сообщение об ошибке вместе с конкретным сообщением об исключении.

используя систему ;

с помощью системы. ИО ;

класс Манекен {

статический пустота Основной ( ) {

строка fp '=' 'тест.txt' ;

пытаться {

с использованием ( StreamWriter писатель '=' новый StreamWriter ( фп ) )

{

писатель. WriteLine ( «Привет, Си-диез!» ) ;

писатель. WriteLine ( «Это тестовый текст». ) ;

}

Консоль. WriteLine ( «Данные записаны успешно». ) ;

}

ловить ( IOException e ) {

Консоль. WriteLine ( 'Возникла ошибка: ' + Это. Сообщение ) ;

}

}

}

Короче говоря, код создает объект StreamWriter с помощью оператора using, записывает две строки текста в файл, а затем автоматически удаляет StreamWriter. Если операция записи успешна, программное обеспечение генерирует сообщение об успехе. В противном случае он выдает сообщение об ошибке, если возникает какое-либо исключение IOException.

Заключение

Оператор using в C# предлагает практичный и безопасный метод управления ресурсами, требующими явного удаления. Вы можете гарантировать, что необходимые процедуры очистки будут выполняться автоматически, и снизить вероятность утечек ресурсов, заключая потребление ресурсов в блок «использование». Это повышает надежность вашего кода.