Изявление за използване на C#

Izavlenie Za Izpolzvane Na C



При изхвърляне на ресурси като връзки към бази данни, потоци от документи или мрежови връзки, изразът „използване“ на езика C# се използва, за да се осигури подходящо изхвърляне. Управлението на обекти, които отговарят на интерфейса IDisposable, се опростява от този подход. Разделът от код, в който се генерира и използва даден ресурс, се създава, когато се декларира произволен оператор „използване“. Ако се използва нормална обработка или изключение за излизане от блока, незабавно се извиква функцията Dispose() на обекта, за да освободи всички неконтролирани ресурси и да извърши необходимото почистване. В това ръководство ще обхванем ресурсите на документния поток с помощта на оператора „using“ на C#.

Синтаксис:

Операторът „using“ на C# се използва за управление на ресурсите, които трябва изрично да се изхвърлят удобно и безопасно. Той следва специфичен синтаксис, както следва:

използвайки ( ResourceType ресурс = нов ResourceType ( ) ) { // Код }
  • Ключовата дума „using“ се използва за деклариране на израза „using“.
  • След ключовата дума „using“ вие посочвате типа ресурс, с който искате да работите, последвано от име на променлива, което представлява ресурса в блока. Всеки обект, който изпълнява интерфейса IDisposable, отговаря на изискванията. Можете да работите с ресурса в рамките на блока, ако е необходимо.
  • След това се използва знак за равенство (=), за да се присвои нов екземпляр на типа ресурс към променливата.
  • Тук ключовата дума „нов“ се използва за генериране на нов обект от типа ресурс.
  • Всяка допълнителна инициализация или конфигурация може да се извърши в скобите след новата ключова дума.
  • Накрая затваряте кода, който използва ресурса, във фигурните скоби {}.

Пример 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“, указващ файла, който трябва да бъде прочетен.





Вътре в блока „използване“ съдържанието на файла се проверява ред по ред с помощта на цикъл „докато“, освен ако не се появи последният ред на документа. Цикълът чете ред с помощта на метода ReadLine() на „StreamReader“ и го присвоява на низовата променлива „l“. Ако редът не е нулев, той се отпечатва на конзолата с помощта на Console.WriteLine(l).

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



Изпълнението на програмата завършва и изходът от конзолата се показва. Ако приемем, че файлът „test.txt“ съществува и съдържа няколко реда текст, изходът от този код е съдържанието на файла, който се отпечатва на конзолата, както е показано на следното прикачено изображение. Всеки ред се показва отделно в изхода:

използвайки System ;

използвайки System. IO ;

клас Dummy {

статичен невалиден Основен ( ) {

низ fp = 'test.txt' ;

опитвам {

използвайки ( Четец на StreamReader = нов StreamReader ( fp ) )

{

низ l ;

докато ( ( л = читател. ReadLine ( ) ) != нула )

{

Конзола. WriteLine ( л ) ;

}

}

}

улов ( IOException e ) {

Конзола. WriteLine ( „Възникна грешка:“ + То е. Съобщение ) ;

}

}

}

Забележка: Ако файлът „test.txt“ не съществува или има проблем с достъпа или четенето на файла, блокът catch се изпълнява и на конзолата се показва съобщение за грешка, което показва конкретното изключение, което е възникнало.

Пример 2:

Ето още един прост пример, който демонстрира използването на израза „using“ на C# със StreamWriter за запис на данните във файл. Ето обяснение на кода заедно с очаквания изход. Кодът започва с декларацията на класа „Dummy“ и метода „Main“, който в крайна сметка ще стартира и завърши програмата.

В рамките на метода „Main“ низовата променлива „fp“ се декларира и инициализира с пътя на файла „test.txt“. Документът, върху който е записана информацията, е представен от това. За да се справи с всяко възможно IOException, което може да възникне по време на процеса на писане на документ, програмата е затворена в блок try-catch.

Вътре в блока try се създава StreamWriter обект с име „writer“ и се инициализира с помощта на израза „using“. StreamWriter е отговорен за записването на знаци във файл. Два отделни реда съдържание се добавят към документ в секцията „използване“ чрез функцията WriteLine на обекта за писане. След като се излезе от блока, методът Dispose() на StreamWriter се извиква автоматично, което гарантира, че всички чакащи данни се записват във файла и необходимите ресурси се освобождават.

И накрая, извън блока „използване“, „Данните са записани успешно“. на конзолата се показва съобщение, което показва, че операцията за запис на документа е успешна и без грешки. Блокът catch се активира, ако възникне някакво IOException по време на процеса на запис на документа. В този случай на конзолата се показва съобщение за грешка заедно с конкретното съобщение за изключение.

използвайки System ;

използвайки System. IO ;

клас Dummy {

статичен невалиден Основен ( ) {

низ fp = 'test.txt' ;

опитвам {

използвайки ( Автор на StreamWriter = нов StreamWriter ( fp ) )

{

писател. WriteLine ( „Здравей, C-Sharp!“ ) ;

писател. WriteLine ( „Това е тестов текст.“ ) ;

}

Конзола. WriteLine ( „Данните са записани успешно.“ ) ;

}

улов ( IOException e ) {

Конзола. WriteLine ( „Възникна грешка:“ + То е. Съобщение ) ;

}

}

}

В обобщение, кодът създава StreamWriter обект с помощта на оператора „using“, записва два реда текст във файл и след това автоматично изхвърля StreamWriter. Ако записването е успешно, софтуерът генерира съобщение за успех. В противен случай той излъчва съобщение за грешка, ако възникне някакво IOException.

Заключение

Операторът C# „using“ предлага практичен и сигурен метод за управление на ресурсите, които изискват изрично изхвърляне. Можете да гарантирате, че необходимите процедури за почистване се извършват автоматично и да намалите вероятността от изтичане на ресурси, като затворите потреблението на ресурси в блок „използване“. Това повишава надеждността на вашия код.