Rumah > Artikel > pembangunan bahagian belakang > Apakah StringBuilder dalam C#
Artikel berikut, Apa itu StringBuilder dalam C# menyediakan garis besar untuk StringBuilder dalam C#. Sebelum bercakap tentang StringBuilder, mari kita lihat dahulu konsep kebolehubah, jika anda mengenali Strings maka mungkin anda akan mengetahui bahawa rentetan mempunyai sifat tidak berubah iaitu setiap kali objek baru dicipta dan lokasi memori baru disediakan kepadanya dan oleh itu setiap kali perubahan data berlaku, data yang diubah akan diletakkan ke lokasi memori baharu dan memastikan rentetan asal selamat. Sekarang, mari kita berfikir sedikit. Apakah kes penggunaan pendekatan ini? Nah, jika anda menetapkan kelayakan seperti butiran pangkalan data, bukti kelayakan lain yang tidak akan ditukar dalam masa sementara, maka anda boleh menggunakan String untuk memastikannya selamat. Kini terdapat satu lagi jenis objek, yang dipanggil StringBuilder, iaitu sifat boleh ubah, justeru menjimatkan memori untuk anda dengan membenarkan anda mengubah suai data dalam lokasi memori semasa sahaja. Perkara sebegitu berguna apabila anda ingin mempunyai beberapa operasi tambahan untuk menghampiri anda.
StringBuilder ialah kelas yang mewakili set aksara boleh ubah dan ia merupakan objek Sistem. Ruang nama teks. StringBuilder ialah objek dinamik dalam alam semula jadi dan oleh itu StringBuilder tidak mencipta objek baharu dalam ingatan, sebaliknya ia mengembangkan memori yang diperlukan secara dinamik untuk memasukkan rentetan yang diubah suai atau baharu. Pembina rentetan tidak kelihatan meyakinkan dalam persekitaran berbilang benang kerana ia boleh mengakibatkan ketidakkonsistenan data apabila ditulis oleh berbilang benang jika konsep berbilang benang tidak digunakan dengan betul.
1. Kini tibalah titik di mana seseorang akan memahami hasil yang boleh menyebabkan kebolehubah, anda harus memilih untuk menggunakan kebolehubah hanya jika set data yang sama akan berkembang secara dinamik, Mari kita ambil contoh untuk memahami senario ini.
2. Jika anda mengambil beberapa data daripada borang HTML yang akan disimpan ke dalam jadual berdasarkan beberapa logik perniagaan, yang pertama kali akan mengesahkan data, dalam kes itu, anda boleh mencipta objek StringBuilder dan menambah semua medan data, bersama-sama dengan lajur pangkalan data dan akhirnya boleh melaksanakan pertanyaan sisipan untuk meletakkan semuanya dalam pangkalan data, kelebihan pendekatan sedemikian ialah sepanjang masa lokasi memori baharu tidak sepatutnya diperuntukkan. Dan C# akan menguruskan satu lokasi memori itu dengan pengembangan dinamik untuk anda.
3. Anda juga boleh menentukan kapasiti nombor StringBuilder dalam C#.
StringBuilder s=new StringBuilder(10);
StringBuilder s=new StringBuilder("object value", 15);
4. Sifat StringBuilder.length menunjukkan bilangan aksara yang terdapat pada objek StringBuilder pada masa ini. Jika anda menambah aksara pada objek StringBuilder, panjangnya akan bertambah sehingga ia sama dengan saiz StringBuilder.
Terdapat kaedah tertentu yang disediakan dalam C#, yang memudahkan kerja dengan StringBuilder. Kelas StringBuilder menyediakan kaedah berikut untuk memudahkan tugas pembangun –
Contoh –
classStringBuilder a = new StringBuilder("val",10); a.append("us")
apabila anda melakukan console.writeline(a), ia akan memberi anda "nilai" hasil
Contoh –
StringBuilder a = new StringBuilder("val",10); a.appendFormat("{0:C}",10)
Sila laksanakan ini dan analisa variasi daripada apa yang telah dilakukan dalam kaedah append() mudah.
Contoh
StringBuilder a = new StringBuilder("val",10); a.insert(4,"ue")
Laksanakan dan lihat hasilnya
Ini semua membuat tugasan untuk mengekodkan masalah perniagaan biasa dengan mudah dan dengan lebih sedikit baris kod.
ArgumentOutOfRangeException.
OutOfMemoryException.
Nah, kita telah membincangkan perkara ini dalam perkara di atas sahaja dan seseorang boleh menyimpulkan di sini kes penggunaan di mana ini boleh menjadi berguna.
Oleh itu, kami melihat perbezaan antara rentetan dan StringBuilder, bila hendak menggunakan apa dan apakah cabaran atau pengecualian yang boleh muncul semasa bekerja dengan StringBuilder.
Atas ialah kandungan terperinci Apakah StringBuilder dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!