C# Menggunakan Pernyataan

C Menggunakan Pernyataan



Apabila melupuskan sumber seperti sambungan pangkalan data, aliran dokumen atau sambungan rangkaian, pernyataan 'menggunakan' dalam bahasa C# digunakan untuk memastikan pelupusan yang sesuai. Pengurusan objek yang mematuhi antara muka IDisposable menjadi lebih mudah dengan pendekatan ini. Bahagian kod di mana sumber dijana dan digunakan dicipta apabila sebarang pernyataan 'menggunakan' diisytiharkan. Jika pemprosesan biasa atau pengecualian digunakan untuk keluar dari blok, fungsi Dispose() objek akan digunakan dengan serta-merta untuk melepaskan sebarang sumber yang tidak terkawal dan menjalankan sebarang pembersihan yang diperlukan. Dalam panduan ini, kami akan merangkumi sumber aliran dokumen dengan penggunaan pernyataan 'menggunakan' C#.

Sintaks:

Pernyataan 'menggunakan' C# digunakan untuk mengurus sumber yang perlu dilupuskan secara eksplisit dengan mudah dan selamat. Ia mengikuti sintaks tertentu seperti berikut:

menggunakan ( ResourceType sumber = Jenis Sumber baharu ( ) ) { // Kod }
  • Kata kunci 'menggunakan' digunakan untuk mengisytiharkan pernyataan 'menggunakan'.
  • Selepas kata kunci 'menggunakan', anda menentukan jenis sumber yang anda mahu gunakan, diikuti dengan nama pembolehubah yang mewakili sumber dalam blok. Mana-mana objek yang menjalankan antara muka IDisposable layak. Anda boleh mengendalikan sumber dalam blok seperti yang diperlukan.
  • Seterusnya, tanda sama (=) digunakan untuk menetapkan contoh baharu jenis sumber kepada pembolehubah.
  • Di sini, kata kunci 'baharu' digunakan untuk menjana objek baharu jenis sumber.
  • Sebarang permulaan atau konfigurasi tambahan boleh dilakukan dalam kurungan selepas kata kunci baharu.
  • Akhir sekali, anda sertakan kod yang menggunakan sumber dalam pendakap kerinting {}.

Contoh 1:

Mari kita mulakan dengan contoh kod C# untuk menunjukkan penggunaan pernyataan 'menggunakan' C# dalam artikel ini. Kod yang diberikan meliputi program C# yang membaca kandungan fail teks menggunakan kelas 'StreamReader' dalam pernyataan 'menggunakan'.







Program ini bermula dengan mengimport ruang nama yang diperlukan, Sistem dan System.IO, yang menyediakan kelas untuk operasi input/output dan pengendalian fail. Program ini mentakrifkan kelas yang dipanggil 'Dummy'. Di dalam kelas 'Dummy', terdapat kaedah Main() yang harus sentiasa dianggap sebagai entri untuk mana-mana program C# untuk melaksanakan program keseluruhan dari awal hingga akhir.



Kaedah Main() bermula dengan mengisytiharkan pembolehubah rentetan 'fp' dan memberikannya nilai 'test.txt'. Ini mewakili laluan fail fail teks untuk dibaca. Untuk mengatasi semua kemungkinan ralat yang mungkin timbul semasa membaca fail, blok cuba-tangkap digunakan.



Dalam blok percubaan, pernyataan 'menggunakan' digunakan untuk membuat contoh kelas 'StreamReader'. Tugas untuk memahami kandungan daripada fail terletak pada 'StreamReader'. Laluan fail yang disimpan dalam pembolehubah 'fp' dihantar kepada pembina 'StreamReader' menunjukkan fail untuk dibaca.





Di dalam blok 'menggunakan', kandungan fail diperiksa baris demi baris menggunakan gelung 'semasa' melainkan baris akhir dokumen muncul. Gelung membaca baris menggunakan kaedah ReadLine() 'StreamReader' dan memberikannya kepada pembolehubah rentetan 'l'. Jika baris itu bukan nol, ia dicetak ke konsol menggunakan Console.WriteLine(l).

Setelah penghujung fail dicapai dan tiada lagi baris untuk dibaca, blok 'menggunakan' akan keluar dan objek 'StreamReader' dilupuskan secara automatik disebabkan oleh pernyataan 'menggunakan'. Blok tangkapan diaktifkan apabila IOException timbul semasa membaca dokumen. Mesej pengecualian diperoleh menggunakan e.Message dan mesej ralat dipaparkan pada konsol menggunakan Console.WriteLine().



Perlaksanaan program selesai dan output konsol dipaparkan. Dengan mengandaikan bahawa fail 'test.txt' wujud dan mengandungi beberapa baris teks, output kod ini ialah kandungan fail yang dicetak pada konsol seperti yang dipaparkan dalam imej yang dilampirkan berikut. Setiap baris ditunjukkan secara berasingan dalam output:

menggunakan Sistem ;

menggunakan Sistem. IO ;

Dummy kelas {

statik batal Utama ( ) {

rentetan fp = 'test.txt' ;

cubalah {

menggunakan ( Pembaca StreamReader = StreamReader baharu ( fp ) )

{

rentetan l ;

sementara ( ( l = pembaca. ReadLine ( ) ) != null )

{

Konsol. WriteLine ( l ) ;

}

}

}

tangkap ( IOException e ) {

Konsol. WriteLine ( 'Ralat Berlaku:' + Ia adalah. Mesej ) ;

}

}

}

Catatan: Jika fail 'test.txt' tidak wujud atau terdapat masalah dengan akses atau pembacaan fail, blok tangkapan dilaksanakan dan mesej ralat dipaparkan pada konsol yang menunjukkan pengecualian khusus yang berlaku.

Contoh 2:

Berikut ialah satu lagi contoh mudah yang menunjukkan penggunaan pernyataan 'menggunakan' C# dengan StreamWriter untuk menulis data ke fail. Berikut ialah penjelasan kod bersama dengan output yang dijangkakan. Kod bermula dengan pengisytiharan kelas 'Dummy' dan kaedah 'Utama' yang akhirnya akan memulakan dan menamatkan program.

Dalam kaedah 'Utama', pembolehubah rentetan 'fp' diisytiharkan dan dimulakan dengan laluan fail 'test.txt'. Dokumen tempat maklumat ditulis diwakili oleh ini. Untuk menangani sebarang kemungkinan IOException yang mungkin timbul sepanjang proses penulisan dokumen, program ini disertakan dalam blok cuba-tangkap.

Di dalam blok percubaan, objek StreamWriter bernama 'penulis' dicipta dan dimulakan menggunakan pernyataan 'menggunakan'. StreamWriter bertanggungjawab untuk menulis aksara ke fail. Dua baris kandungan yang berasingan ditambahkan pada dokumen di dalam bahagian 'menggunakan' melalui fungsi WriteLine objek penulis. Sebaik sahaja blok itu keluar, kaedah Dispose() StreamWriter dipanggil secara automatik yang memastikan bahawa sebarang data yang belum selesai ditulis pada fail dan sumber yang diperlukan dikeluarkan.

Akhir sekali, di luar blok 'menggunakan', 'Data berjaya ditulis.' mesej ditunjukkan pada konsol yang menunjukkan bahawa operasi tulis dokumen berjaya dan bebas ralat. Blok tangkapan diaktifkan jika sebarang IOException berlaku semasa proses penulisan dokumen. Dalam kes itu, mesej ralat bersama dengan mesej pengecualian khusus dipaparkan pada konsol.

menggunakan Sistem ;

menggunakan Sistem. IO ;

Dummy kelas {

statik batal Utama ( ) {

rentetan fp = 'test.txt' ;

cubalah {

menggunakan ( Penulis StreamWriter = StreamWriter baharu ( fp ) )

{

penulis. WriteLine ( 'Hello, C-Sharp!' ) ;

penulis. WriteLine ( 'Ini adalah teks ujian.' ) ;

}

Konsol. WriteLine ( 'Data ditulis dengan jayanya.' ) ;

}

tangkap ( IOException e ) {

Konsol. WriteLine ( 'Ralat berlaku:' + Ia adalah. Mesej ) ;

}

}

}

Ringkasnya, kod mencipta objek StreamWriter menggunakan pernyataan 'menggunakan', menulis dua baris teks ke fail, dan kemudian secara automatik melupuskan StreamWriter. Jika operasi penulisan berjaya, perisian menjana mesej kejayaan. Jika tidak, ia mengeluarkan mesej kegagalan jika sebarang IOException berlaku.

Kesimpulan

Pernyataan 'menggunakan' C# menawarkan kaedah yang praktikal dan selamat untuk mengurus sumber yang memerlukan pelupusan yang jelas. Anda boleh menjamin bahawa prosedur pembersihan yang diperlukan dijalankan secara automatik dan mengurangkan kemungkinan kebocoran sumber dengan memasukkan penggunaan sumber dalam blok 'menggunakan'. Ini meningkatkan kebolehpercayaan kod anda.