Ц# Коришћење наредбе

C Koriscene Naredbe



Приликом одлагања ресурса као што су везе са базама података, токови докумената или мрежне везе, користи се изјава „усинг“ у језику Ц# да би се обезбедило одговарајуће одлагање. Управљање објектима који су у складу са ИДиспосабле интерфејсом је поједностављено овим приступом. Одељак кода у коме се генерише и користи ресурс креира се када се декларише било која изјава „усинг“. Ако се за излазак из блока користи нормална обрада или изузетак, функција Диспосе() објекта се одмах позива да ослободи све неконтролисане ресурсе и изврши неопходно чишћење. У овом водичу ћемо покрити ресурсе тока докумената коришћењем Ц# наредбе „усинг“.

Синтакса:

Наредба Ц# „усинг“ се користи за управљање ресурсима који се морају експлицитно одложити на згодан и сигуран начин. Следи специфичну синтаксу како следи:

Користећи ( РесоурцеТипе ресурс = нови РесоурцеТипе ( ) ) { // Код }
  • Кључна реч „усинг“ се користи за декларисање наредбе „усинг“.
  • После кључне речи „усинг“, наведете тип ресурса са којим желите да радите, а затим следи име променљиве које представља ресурс унутар блока. Сваки објекат који спроводи ИДиспосабле интерфејс се квалификује. По потреби можете управљати ресурсом унутар блока.
  • Затим, знак једнакости (=) се користи да се променљивој додели нова инстанца типа ресурса.
  • Овде се кључна реч „нев“ користи за генерисање новог објекта типа ресурса.
  • Свака додатна иницијализација или конфигурација се може извршити унутар заграда иза нове кључне речи.
  • Коначно, код који користи ресурс стављате у витичасте заграде {}.

Пример 1:

Почнимо са примерима Ц# кода да бисмо демонстрирали коришћење Ц# наредбе „усинг“ у овом чланку. Дати код покрива Ц# програм који чита садржај текстуалне датотеке користећи класу „СтреамРеадер“ у оквиру изјаве „усинг“.







Програм почиње увозом неопходних именских простора, Систем и Систем.ИО, који обезбеђују класе за улазно/излазне операције и руковање датотекама. Програм дефинише класу под називом „Думми“. Унутар класе „Думми“ постоји метода Маин() коју увек треба третирати као унос за било који Ц# програм за извршавање целокупног програма од почетка до краја.



Метода Маин() почиње тако што декларише променљиву стринг „фп“ и додељује јој вредност „тест.ткт“. Ово представља путању датотеке текстуалне датотеке која се чита. Да би се носили са свим могућим грешкама које могу настати приликом читања датотека, користи се блок три-цатцх.



Унутар блока три, израз „усинг“ се користи за креирање инстанце класе „СтреамРеадер“. Задатак разумевања садржаја из датотеке пада на „СтреамРеадер“. Путања датотеке која је ускладиштена у променљивој „фп“ се прослеђује конструктору „СтреамРеадер“ и указује на датотеку коју треба прочитати.





Унутар блока „усинг“, садржај датотеке се испитује ред по ред користећи „вхиле“ петљу осим ако се не појави последњи ред документа. Петља чита линију користећи РеадЛине() методу „СтреамРеадер-а” и додељује је променљивој стринга „л”. Ако линија није нула, штампа се на конзоли помоћу Цонсоле.ВритеЛине(л).

Када се достигне крај датотеке и нема више редова за читање, из блока „усинг“ се напушта и „СтреамРеадер“ објекат се аутоматски одлаже због „усинг“ наредбе. Блок цатцх се активира кад год се појави ИОЕкцептион током читања документа. Порука о изузетку се добија помоћу е.Мессаге, а порука о грешци се приказује на конзоли помоћу Цонсоле.ВритеЛине().



Извршење програма се завршава и приказује се излаз конзоле. Под претпоставком да датотека “тест.ткт” постоји и садржи неколико редова текста, излаз овог кода је садржај датотеке који је одштампан на конзоли као што је приказано на следећој приложеној слици. Сваки ред је приказан засебно у излазу:

користећи Систем ;

користећи Систем. ИО ;

цласс Думми {

статична празнина Главни ( ) {

стринг фп = 'тест.ткт' ;

покушати {

Користећи ( СтреамРеадер читач = нови СтреамРеадер ( фп ) )

{

стринг л ;

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

{

Конзола. ВритеЛине ( л ) ;

}

}

}

улов ( ИОЕкцептион е ) {

Конзола. ВритеЛине ( 'Појавила се грешка: ' + То је. Порука ) ;

}

}

}

Белешка: Ако датотека „тест.ткт“ не постоји или постоји проблем са приступом или читањем датотеке, извршава се блок цатцх, а на конзоли се приказује порука о грешци која указује на посебан изузетак који се догодио.

Пример 2:

Ево још једног једноставног примера који показује употребу Ц# наредбе „усинг“ са СтреамВритер-ом за писање података у датотеку. Ево објашњења кода заједно са његовим очекиваним излазом. Код почиње декларацијом класе “Думми” и методе “Маин” која ће на крају покренути и завршити програм.

У оквиру методе „Маин“, променљива стринг „фп“ је декларисана и иницијализована путањом датотеке „тест.ткт“. Документ на коме је написана информација је представљен овим. Да би се позабавио сваким могућим ИОЕкцептионом који би могао настати током процеса писања документа, програм је затворен у блок три-цатцх.

Унутар блока три, СтреамВритер објекат под називом „вритер“ се креира и иницијализује помоћу наредбе „усинг“. СтреамВритер је одговоран за писање знакова у датотеку. Два одвојена реда садржаја се додају документу унутар одељка „коришћење“ преко функције ВритеЛине објекта писача. Када се блок изађе, метода Диспосе() СтреамВритер-а се аутоматски позива што осигурава да се сви подаци на чекању уписују у датотеку и ослобађају потребни ресурси.

Коначно, изван блока „коришћење“, „Подаци су успешно написани“. на конзоли се приказује порука која показује да је операција писања документа успешна и без грешака. Блок цатцх се активира ако се деси било који ИОЕкцептион током процеса писања документа. У том случају, порука о грешци заједно са посебном поруком о изузетку се приказује на конзоли.

користећи Систем ;

користећи Систем. ИО ;

цласс Думми {

статична празнина Главни ( ) {

стринг фп = 'тест.ткт' ;

покушати {

Користећи ( СтреамВритер писац = нови СтреамВритер ( фп ) )

{

писац. ВритеЛине ( 'Здраво, Ц-Схарп!' ) ;

писац. ВритеЛине ( „Ово је пробни текст.“ ) ;

}

Конзола. ВритеЛине ( „Подаци су успешно написани.“ ) ;

}

улов ( ИОЕкцептион е ) {

Конзола. ВритеЛине ( 'Десила се грешка: ' + То је. Порука ) ;

}

}

}

Укратко, код креира СтреамВритер објекат користећи наредбу „усинг“, уписује два реда текста у датотеку, а затим аутоматски одбацује СтреамВритер. Ако операција писања успе, софтвер генерише поруку о успеху. У супротном, емитује поруку о неуспеху ако се појави било који ИОЕкцептион.

Закључак

Ц# изјава „усинг“ нуди практичан и сигуран метод управљања ресурсима који захтевају експлицитно одлагање. Можете да гарантујете да се неопходне процедуре чишћења извршавају аутоматски и да смањите вероватноћу цурења ресурса затварањем потрошње ресурса у блок „коришћење“. Ово повећава поузданост вашег кода.