C# Folosind instrucțiune

C Folosind Instructiune



La eliminarea resurselor cum ar fi conexiunile la baze de date, fluxurile de documente sau conexiunile la rețea, declarația „utilizare” în limbajul C# este folosită pentru a asigura o eliminare corespunzătoare. Gestionarea obiectelor care respectă interfața IDisposable este simplificată prin această abordare. Secțiunea de cod în care o resursă este generată și utilizată este creată atunci când este declarată orice instrucțiune „utilizare”. Dacă se utilizează o procesare normală sau o excepție pentru a ieși din bloc, funcția Dispose() a obiectului este invocată imediat pentru a elibera orice resurse necontrolate și pentru a efectua orice curățare necesară. În acest ghid, vom acoperi resursele fluxului de documente cu utilizarea declarației C# „utilizare”.

Sintaxă:

Declarația C# „utilizare” este utilizată pentru a gestiona resursele care trebuie eliminate în mod explicit în mod convenabil și în siguranță. Urmează o sintaxă specifică, după cum urmează:

folosind ( Resursă ResourceType = nou ResourceType ( ) ) { // Cod }
  • Cuvântul cheie „utilizare” este folosit pentru a declara declarația „utilizare”.
  • După cuvântul cheie „utilizare”, specificați tipul de resursă cu care doriți să lucrați, urmat de un nume de variabilă care reprezintă resursa din bloc. Orice obiect care realizează interfața IDisposable se califică. Puteți opera pe resursa din bloc după cum este necesar.
  • Apoi, un semn egal (=) este utilizat pentru a atribui o nouă instanță a tipului de resursă variabilei.
  • Aici, cuvântul cheie „nou” este utilizat pentru a genera un nou obiect de tipul resursă.
  • Orice inițializare sau configurare suplimentară poate fi efectuată între paranteze după noul cuvânt cheie.
  • În cele din urmă, includeți codul care utilizează resursa în acolade {}.

Exemplul 1:

Să începem cu exemplele de cod C# pentru a demonstra utilizarea declarației de „utilizare” C# din acest articol. Codul dat acoperă un program C# care citește conținutul unui fișier text folosind clasa „StreamReader” într-o instrucțiune „utilizare”.







Programul începe prin importul spațiilor de nume necesare, System și System.IO, care oferă clase pentru operațiunile de intrare/ieșire și gestionarea fișierelor. Programul definește o clasă numită „Dummy”. În interiorul clasei „Dummy”, există o metodă Main() care ar trebui să fie întotdeauna tratată ca intrare pentru orice program C# pentru a executa întregul program de la început până la sfârșit.



Metoda Main() începe prin declararea variabilei șir „fp” și atribuirea valorii „test.txt”. Aceasta reprezintă calea fișierului text care urmează să fie citit. Pentru a face față tuturor erorilor posibile care pot apărea la citirea fișierelor, se utilizează un bloc try-catch.



În blocul try, o instrucțiune „utilizare” este utilizată pentru a crea o instanță a clasei „StreamReader”. Sarcina de a înțelege conținutul dintr-un fișier revine „StreamReader”. Calea fișierului care este stocată în variabila „fp” este transmisă constructorului „StreamReader” indică fișierul care trebuie citit.





În interiorul blocului „utilizare”, conținutul fișierului este examinat linie cu linie folosind o buclă „while”, cu excepția cazului în care apare linia finală a documentului. Bucla citește o linie folosind metoda ReadLine() a „StreamReader” și o atribuie variabilei șir „l”. Dacă linia nu este nulă, este tipărită pe consolă folosind Console.WriteLine(l).

Odată ce se ajunge la sfârșitul fișierului și nu mai există linii de citit, blocul „utilizare” este ieșit și obiectul „StreamReader” este eliminat automat datorită instrucțiunii „utilizare”. Blocul catch este activat ori de câte ori apare o excepție IOExcepție în timpul citirii unui document. Mesajul de excepție este obținut folosind e.Message și un mesaj de eroare este afișat pe consolă folosind Console.WriteLine().



Execuția programului se termină și este afișată ieșirea consolei. Presupunând că fișierul „test.txt” există și conține mai multe rânduri de text, rezultatul acestui cod este conținutul fișierului care este tipărit pe consolă, așa cum este afișat în următoarea imagine atașată. Fiecare linie este afișată separat în rezultat:

folosind System ;

folosind System. IO ;

manechin de clasă {

static gol Principal ( ) {

șir fp = „test.txt” ;

încerca {

folosind ( Cititor StreamReader = noul StreamReader ( fp ) )

{

sfoară l ;

in timp ce ( ( l = cititor. Citeste linia ( ) ) != nul )

{

Consolă. WriteLine ( l ) ;

}

}

}

captură ( IOException e ) {

Consolă. WriteLine ( 'A aparut o eroare: ' + Este. Mesaj ) ;

}

}

}

Notă: Dacă fișierul „test.txt” nu există sau există o problemă cu accesul sau citirea fișierului, blocul catch este executat și pe consolă este afișat un mesaj de eroare care indică excepția specifică care a apărut.

Exemplul 2:

Iată un alt exemplu simplu care demonstrează utilizarea instrucțiunii C# „utilizare” cu un StreamWriter pentru a scrie datele într-un fișier. Iată o explicație a codului împreună cu rezultatul așteptat. Codul începe cu declararea clasei „Dummy” și a metodei „Main” care în cele din urmă va porni și încheia programul.

În cadrul metodei „Main”, variabila șir „fp” este declarată și inițializată cu calea fișierului „test.txt”. Documentul pe care sunt scrise informațiile este reprezentat de acesta. Pentru a face față oricărei posibile IOExcepții care ar putea apărea pe parcursul procesului de scriere a documentului, programul este inclus într-un bloc try-catch.

În interiorul blocului try, un obiect StreamWriter numit „writer” este creat și inițializat folosind instrucțiunea „using”. StreamWriter este responsabil pentru scrierea caracterelor într-un fișier. Două linii separate de conținut sunt adăugate unui document în interiorul secțiunii „utilizare” prin intermediul funcției WriteLine a obiectului writer. Odată ce blocul este ieșit din bloc, metoda Dispose() a StreamWriter este apelată automat, ceea ce asigură că orice date în așteptare sunt scrise în fișier și că resursele necesare sunt eliberate.

În cele din urmă, în afara blocului „utilizare”, „Date scrise cu succes”. pe consolă este afișat un mesaj care demonstrează că operația de scriere a documentului este reușită și fără erori. Blocul catch este activat dacă are loc vreo excepție IO în timpul procesului de scriere a documentului. În acest caz, pe consolă este afișat un mesaj de eroare împreună cu mesajul specific de excepție.

folosind System ;

folosind System. IO ;

manechin de clasă {

static vid Principal ( ) {

șir fp = „test.txt” ;

încerca {

folosind ( Scriitor StreamWriter = noul StreamWriter ( fp ) )

{

scriitor. WriteLine ( 'Bună, C-Sharp!' ) ;

scriitor. WriteLine ( „Acesta este un text de testare”. ) ;

}

Consolă. WriteLine ( „Date scrise cu succes.” ) ;

}

captură ( IOException e ) {

Consolă. WriteLine ( 'A apărut o eroare: ' + Este. Mesaj ) ;

}

}

}

În rezumat, codul creează un obiect StreamWriter folosind instrucțiunea „utilizare”, scrie două linii de text într-un fișier și apoi elimină automat StreamWriter. Dacă operația de scriere reușește, software-ul generează un mesaj de succes. În caz contrar, emite un mesaj de eroare dacă apare vreo excepție IOExcepție.

Concluzie

Declarația de „utilizare” C# oferă o metodă practică și sigură de gestionare a resurselor care necesită o eliminare explicită. Puteți garanta că procedurile de curățare necesare sunt efectuate automat și reduceți probabilitatea scurgerilor de resurse prin includerea consumului de resurse într-un bloc de „utilizare”. Acest lucru crește fiabilitatea codului dvs.