Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Objek String tidak dapat diubah. Setiap kali Anda menggunakan salah satu metode di System.String kelas , Anda membuat objek string baru dalam memori, yang memerlukan alokasi ruang baru untuk objek baru tersebut. Dalam situasi di mana Anda perlu melakukan modifikasi berulang pada string, overhead yang terkait dengan pembuatan objek baru String bisa mahal. Kelas System.Text.StringBuilder dapat digunakan saat Anda ingin memodifikasi string tanpa membuat objek baru. Misalnya, menggunakan StringBuilder kelas dapat meningkatkan performa saat menggabungkan banyak string bersama-sama dalam perulangan.
Mengimpor Namespace System.Text
Kelas StringBuilder ditemukan di namespace System.Text. Untuk menghindari harus memberikan nama tipe yang lengkap dan memenuhi syarat dalam kode Anda, Anda dapat mengimpor ruang nama System.Text.
using System;
using System.Text;
Imports System.Text
Menginisiasi Sebuah Objek StringBuilder
Anda dapat membuat instans baru dari kelas StringBuilder dengan menginisialisasi variabel Anda menggunakan salah satu metode konstruktor yang ter-overload, seperti diilustrasikan dalam contoh berikut.
StringBuilder myStringBuilder = new StringBuilder("Hello World!");
Dim myStringBuilder As New StringBuilder("Hello World!")
Mengatur Kapasitas dan Panjang
StringBuilder Meskipun adalah objek dinamis yang memungkinkan Anda memperluas jumlah karakter dalam string yang dienkapsulasinya, Anda dapat menentukan nilai untuk jumlah maksimum karakter yang dapat disimpannya. Nilai ini disebut sebagai kapasitas objek dan tidak boleh dikacaukan dengan panjang string yang ditampung saat ini oleh StringBuilder. Misalnya, Anda dapat membuat instans StringBuilder baru kelas dengan string "Hello", yang memiliki panjang 5, dan Anda dapat menentukan bahwa objek memiliki kapasitas maksimum 25. Ketika Anda memodifikasi StringBuilder, itu tidak mengalokasi ulang ukuran untuk dirinya sendiri sampai kapasitas tercapai. Ketika ini terjadi, ruang baru dialokasikan secara otomatis dan kapasitas digandakan. Anda dapat menentukan kapasitas kelas StringBuilder menggunakan salah satu konstruktor yang di-overload. Contoh berikut menentukan bahwa myStringBuilder objek dapat diperluas hingga maksimum 25 spasi.
StringBuilder myStringBuilder = new StringBuilder("Hello World!", 25);
Dim myStringBuilder As New StringBuilder("Hello World!", 25)
Selain itu, Anda dapat menggunakan properti baca/tulis Capacity untuk mengatur panjang maksimum objek Anda. Contoh berikut menggunakan properti Kapasitas untuk menentukan panjang objek maksimum.
myStringBuilder.Capacity = 25;
myStringBuilder.Capacity = 25
Metode EnsureCapacity ini dapat digunakan untuk memeriksa kapasitas StringBuilder saat ini. Jika kapasitas lebih besar dari nilai yang dilewatkan, tidak ada perubahan yang dilakukan; namun, jika kapasitas lebih kecil dari nilai yang dilewatkan, kapasitas saat ini diubah agar sesuai dengan nilai yang dilewatkan.
Properti Length juga dapat dilihat atau diatur. Jika Anda mengatur properti Panjang ke nilai yang lebih besar dari properti Kapasitas , properti Kapasitas secara otomatis diubah ke nilai yang sama dengan properti Panjang . Mengatur properti Panjang ke nilai yang kurang dari panjang string dalam StringBuilder saat ini memperpendek string.
Memodifikasi String pada StringBuilder
Tabel berikut mencantumkan metode yang bisa Anda gunakan untuk mengubah konten StringBuilder.
| Nama metode | Gunakan |
|---|---|
| StringBuilder.Append | Menambahkan informasi ke akhir StringBuilder saat ini. |
| StringBuilder.AppendFormat | Mengganti spesifikator format yang diteruskan dalam string menjadi teks yang telah diformat. |
| StringBuilder.Insert | Menyisipkan string atau objek ke dalam indeks yang ditentukan dari StringBuilder saat ini. |
| StringBuilder.Remove | Menghapus jumlah karakter tertentu dari StringBuilder saat ini. |
| StringBuilder.Replace | Mengganti semua kemunculan karakter atau string tertentu dalam StringBuilder saat ini dengan karakter atau string lain yang ditentukan. |
Menambahkan
Metode Tambahkan dapat digunakan untuk menambahkan teks atau representasi string objek ke akhir string yang diwakili oleh StringBuilder saat ini. Contoh berikut menginisialisasi StringBuilder ke "Halo Dunia" lalu menambahkan beberapa teks ke akhir objek. Ruang dialokasikan secara otomatis sesuai kebutuhan.
StringBuilder myStringBuilder = new StringBuilder("Hello World!");
myStringBuilder.Append(" What a beautiful day.");
Console.WriteLine(myStringBuilder);
// The example displays the following output:
// Hello World! What a beautiful day.
Dim myStringBuilder As New StringBuilder("Hello World!")
myStringBuilder.Append(" What a beautiful day.")
Console.WriteLine(myStringBuilder)
' The example displays the following output:
' Hello World! What a beautiful day.
TambahkanFormat
Metode StringBuilder.AppendFormat menambahkan teks ke akhir StringBuilder objek. Ini mendukung fitur pemformatan komposit dengan memanggil IFormattable implementasi objek atau objek yang akan diformat. Oleh karena itu, ia menerima string format standar untuk nilai numerik, tanggal dan waktu, dan enumerasi, string format kustom untuk nilai numerik dan tanggal dan waktu, dan string format yang ditentukan untuk tipe kustom. (Untuk informasi tentang pemformatan, lihat Tipe Pemformatan.) Anda dapat menggunakan metode ini untuk menyesuaikan format variabel dan menambahkan nilai tersebut ke StringBuilder. Contoh berikut menggunakan AppendFormat metode untuk menempatkan nilai bilangan bulat yang diformat sebagai nilai mata uang di akhir StringBuilder objek.
int MyInt = 25;
StringBuilder myStringBuilder = new StringBuilder("Your total is ");
myStringBuilder.AppendFormat("{0:C} ", MyInt);
Console.WriteLine(myStringBuilder);
// The example displays the following output:
// Your total is $25.00
Dim MyInt As Integer = 25
Dim myStringBuilder As New StringBuilder("Your total is ")
myStringBuilder.AppendFormat("{0:C} ", MyInt)
Console.WriteLine(myStringBuilder)
' The example displays the following output:
' Your total is $25.00
Sisipkan
Metode Insert menambahkan string atau objek ke posisi tertentu di objek saat ini StringBuilder . Contoh berikut menggunakan metode ini untuk menyisipkan kata ke posisi keenam dari objek StringBuilder.
StringBuilder myStringBuilder = new StringBuilder("Hello World!");
myStringBuilder.Insert(6,"Beautiful ");
Console.WriteLine(myStringBuilder);
// The example displays the following output:
// Hello Beautiful World!
Dim myStringBuilder As New StringBuilder("Hello World!")
myStringBuilder.Insert(6, "Beautiful ")
Console.WriteLine(myStringBuilder)
' The example displays the following output:
' Hello Beautiful World!
Hapus
Anda dapat menggunakan metode Hapus untuk menghapus jumlah karakter tertentu dari objek saat ini StringBuilder , dimulai pada indeks berbasis nol yang ditentukan. Contoh berikut menggunakan metode Hapus untuk mempersingkat StringBuilder objek.
StringBuilder myStringBuilder = new StringBuilder("Hello World!");
myStringBuilder.Remove(5,7);
Console.WriteLine(myStringBuilder);
// The example displays the following output:
// Hello
Dim myStringBuilder As New StringBuilder("Hello World!")
myStringBuilder.Remove(5, 7)
Console.WriteLine(myStringBuilder)
' The example displays the following output:
' Hello
Mengganti
Metode Ganti dapat digunakan untuk mengganti karakter dalam StringBuilder objek dengan karakter lain yang ditentukan. Contoh berikut menggunakan metode Ganti untuk mencari StringBuilder objek untuk semua instans karakter tanda seru (!) dan menggantinya dengan karakter tanda tanya (?).
StringBuilder myStringBuilder = new StringBuilder("Hello World!");
myStringBuilder.Replace('!', '?');
Console.WriteLine(myStringBuilder);
// The example displays the following output:
// Hello World?
Dim myStringBuilder As New StringBuilder("Hello World!")
myStringBuilder.Replace("!"c, "?"c)
Console.WriteLine(myStringBuilder)
' The example displays the following output:
' Hello World?
Mengonversi Objek StringBuilder menjadi String
Anda harus mengonversi StringBuilder objek ke String objek sebelum dapat meneruskan string yang diwakili oleh StringBuilder objek ke metode yang memiliki String parameter atau menampilkannya di antarmuka pengguna. Anda melakukan konversi ini dengan memanggil StringBuilder.ToString metode . Contoh berikut memanggil sejumlah StringBuilder metode lalu memanggil StringBuilder.ToString() metode untuk menampilkan string.
using System;
using System.Text;
public class Example
{
public static void Main()
{
StringBuilder sb = new StringBuilder();
bool flag = true;
string[] spellings = { "recieve", "receeve", "receive" };
sb.AppendFormat("Which of the following spellings is {0}:", flag);
sb.AppendLine();
for (int ctr = 0; ctr <= spellings.GetUpperBound(0); ctr++) {
sb.AppendFormat(" {0}. {1}", ctr, spellings[ctr]);
sb.AppendLine();
}
sb.AppendLine();
Console.WriteLine(sb.ToString());
}
}
// The example displays the following output:
// Which of the following spellings is True:
// 0. recieve
// 1. receeve
// 2. receive
Imports System.Text
Module Example
Public Sub Main()
Dim sb As New StringBuilder()
Dim flag As Boolean = True
Dim spellings() As String = {"recieve", "receeve", "receive"}
sb.AppendFormat("Which of the following spellings is {0}:", flag)
sb.AppendLine()
For ctr As Integer = 0 To spellings.GetUpperBound(0)
sb.AppendFormat(" {0}. {1}", ctr, spellings(ctr))
sb.AppendLine()
Next
sb.AppendLine()
Console.WriteLine(sb.ToString())
End Sub
End Module
' The example displays the following output:
' Which of the following spellings is True:
' 0. recieve
' 1. receeve
' 2. receive