C# Menggunakan Pernyataan

C Menggunakan Pernyataan



Saat membuang sumber daya seperti koneksi database, aliran dokumen, atau koneksi jaringan, pernyataan “menggunakan” dalam bahasa C# digunakan untuk memastikan pembuangan yang tepat. Pengelolaan objek yang mematuhi antarmuka IDisposable menjadi lebih sederhana dengan pendekatan ini. Bagian kode di mana sumber daya dihasilkan dan digunakan dibuat ketika pernyataan “menggunakan” dideklarasikan. Jika pemrosesan normal atau pengecualian digunakan untuk keluar dari blok, fungsi Dispose() objek akan segera dipanggil untuk melepaskan sumber daya yang tidak terkontrol dan melakukan pembersihan yang diperlukan. Dalam panduan ini, kita akan membahas sumber daya aliran dokumen dengan menggunakan pernyataan “using” C#.

Sintaksis:

Pernyataan C# “using” digunakan untuk mengelola sumber daya yang perlu dibuang secara eksplisit dengan nyaman dan aman. Ini mengikuti sintaksis tertentu sebagai berikut:

menggunakan ( Sumber daya ResourceType = ResourceType baru ( ) ) { // Kode }
  • Kata kunci “using” digunakan untuk mendeklarasikan pernyataan “using”.
  • Setelah kata kunci “menggunakan”, Anda menentukan jenis sumber daya yang ingin Anda gunakan, diikuti dengan nama variabel yang mewakili sumber daya dalam blok. Objek apa pun yang menjalankan antarmuka IDisposable memenuhi syarat. Anda dapat mengoperasikan sumber daya di dalam blok sesuai kebutuhan.
  • Selanjutnya, tanda sama dengan (=) digunakan untuk menetapkan instance baru dari tipe sumber daya ke variabel.
  • Di sini, kata kunci “baru” digunakan untuk menghasilkan objek baru dari jenis sumber daya.
  • Inisialisasi atau konfigurasi tambahan apa pun dapat dilakukan dalam tanda kurung setelah kata kunci baru.
  • Terakhir, Anda menyertakan kode yang menggunakan sumber daya dalam kurung kurawal {}.

Contoh 1:

Mari kita mulai dengan contoh kode C# untuk mendemonstrasikan penggunaan pernyataan “menggunakan” C# di artikel ini. Kode yang diberikan mencakup program C# yang membaca konten file teks menggunakan kelas “StreamReader” dalam pernyataan “menggunakan”.







Program dimulai dengan mengimpor namespace yang diperlukan, System dan System.IO, yang menyediakan kelas untuk operasi input/output dan penanganan file. Program ini mendefinisikan kelas yang disebut “Dummy”. Di dalam kelas “Dummy”, terdapat metode Main() yang harus selalu diperlakukan sebagai entri untuk setiap program C# untuk menjalankan keseluruhan program dari awal hingga akhir.



Metode Main() dimulai dengan mendeklarasikan variabel string “fp” dan memberinya nilai “test.txt”. Ini mewakili jalur file dari file teks yang akan dibaca. Untuk mengatasi semua kemungkinan kesalahan yang mungkin timbul saat membaca file, blok try-catch digunakan.



Dalam blok try, pernyataan “using” digunakan untuk membuat instance kelas “StreamReader”. Tugas memahami konten dari suatu file jatuh ke 'StreamReader'. Jalur file yang disimpan dalam variabel “fp” diteruskan ke konstruktor “StreamReader” yang menunjukkan file yang akan dibaca.





Di dalam blok “using”, konten file diperiksa baris demi baris menggunakan loop “sementara” kecuali baris terakhir dokumen muncul. Loop membaca baris menggunakan metode ReadLine() dari “StreamReader” dan menugaskannya ke variabel string “l”. Jika baris tersebut bukan null, baris tersebut akan dicetak ke konsol menggunakan Console.WriteLine(l).

Setelah akhir file tercapai dan tidak ada lagi baris untuk dibaca, blok “using” keluar dan objek “StreamReader” secara otomatis dibuang karena pernyataan “using”. Blok catch diaktifkan setiap kali IOException muncul saat membaca dokumen. Pesan pengecualian diperoleh menggunakan e.Message, dan pesan kesalahan ditampilkan di konsol menggunakan Console.WriteLine().



Eksekusi program selesai dan keluaran konsol ditampilkan. Dengan asumsi file “test.txt” ada dan berisi beberapa baris teks, output dari kode ini adalah isi file yang dicetak di konsol seperti yang ditampilkan pada gambar terlampir berikut. Setiap baris ditampilkan secara terpisah di output:

menggunakan Sistem ;

menggunakan Sistem. IO ;

kelas boneka {

statis ruang kosong Utama ( ) {

tali fp = 'tes.txt' ;

mencoba {

menggunakan ( Pembaca StreamReader = StreamReader baru ( fp ) )

{

tali l ;

ketika ( ( aku = pembaca. BacaGaris ( ) ) != batal )

{

Menghibur. Garis Tulis ( aku ) ;

}

}

}

menangkap ( IOException e ) {

Menghibur. Garis Tulis ( 'Terjadi kesalahan: ' + Dia. Pesan ) ;

}

}

}

Catatan: Jika file “test.txt” tidak ada atau ada masalah dengan akses atau pembacaan file, blok catch dijalankan, dan pesan kesalahan ditampilkan di konsol yang menunjukkan pengecualian spesifik yang terjadi.

Contoh 2:

Berikut adalah contoh sederhana lainnya yang menunjukkan penggunaan pernyataan “menggunakan” C# dengan StreamWriter untuk menulis data ke file. Berikut penjelasan kode beserta output yang diharapkan. Kode dimulai dengan deklarasi kelas “Dummy” dan metode “Utama” yang pada akhirnya akan memulai dan mengakhiri program.

Dalam metode “Utama”, variabel string “fp” dideklarasikan dan diinisialisasi dengan jalur file “test.txt”. Dokumen tempat informasi tersebut ditulis diwakili oleh ini. Untuk menangani kemungkinan IOException yang mungkin timbul selama proses penulisan dokumen, program ini disertakan dalam blok try-catch.

Di dalam blok try, objek StreamWriter bernama “writer” dibuat dan diinisialisasi menggunakan pernyataan “using”. StreamWriter bertanggung jawab untuk menulis karakter ke file. Dua baris konten terpisah ditambahkan ke dokumen di dalam bagian 'menggunakan' melalui fungsi WriteLine objek penulis. Setelah blok keluar, metode Dispose() dari StreamWriter secara otomatis dipanggil yang memastikan bahwa setiap data yang tertunda ditulis ke file dan sumber daya yang diperlukan dilepaskan.

Terakhir, di luar blok 'menggunakan', 'Data berhasil ditulis'. pesan ditampilkan di konsol yang menunjukkan bahwa operasi penulisan dokumen berhasil dan bebas kesalahan. Blok catch diaktifkan jika ada IOException yang terjadi selama proses penulisan dokumen. Dalam hal ini, pesan kesalahan bersama dengan pesan pengecualian spesifik ditampilkan di konsol.

menggunakan Sistem ;

menggunakan Sistem. IO ;

kelas boneka {

statis ruang kosong Utama ( ) {

tali fp = 'tes.txt' ;

mencoba {

menggunakan ( Penulis StreamWriter = StreamWriter baru ( fp ) )

{

penulis. Garis Tulis ( 'Halo, C-Tajam!' ) ;

penulis. Garis Tulis ( 'Ini adalah teks ujian.' ) ;

}

Menghibur. Garis Tulis ( 'Data berhasil ditulis.' ) ;

}

menangkap ( IOException e ) {

Menghibur. Garis Tulis ( 'Terjadi kesalahan:' + Dia. Pesan ) ;

}

}

}

Singkatnya, kode ini membuat objek StreamWriter menggunakan pernyataan “using”, menulis dua baris teks ke sebuah file, dan kemudian secara otomatis membuang StreamWriter. Jika operasi penulisan berhasil, perangkat lunak menghasilkan pesan sukses. Jika tidak, ia akan mengeluarkan pesan kegagalan jika ada IOException yang terjadi.

Kesimpulan

Pernyataan “menggunakan” C# menawarkan metode yang praktis dan aman dalam mengelola sumber daya yang memerlukan pembuangan secara eksplisit. Anda dapat menjamin bahwa prosedur pembersihan yang diperlukan dilakukan secara otomatis dan mengurangi kemungkinan kebocoran sumber daya dengan memasukkan konsumsi sumber daya dalam blok “penggunaan”. Ini meningkatkan ketergantungan kode Anda.