
Perbedaan String dan String Builder sering ditanyakan oleh kebanyakan pengguna bahasa pemrograman C#, dan Kadang dijawab dengan sepele yaitu :
String bersifat Immutable sedangkan stringBuilder bersifat Mutable.
Pertanyaanya adalah Apa maksudnya ?
[sc name=”daftarisic”]
Bebeberapa dari kalian mungkin masih bingung mengenai istilah Immutable dan Mutable.
Immutable
Immutable berarti kamu tidak dapat merubah atau memodifikasi data setelah data itu dibuat. Tipe String biasanya akan selalu membuat object baru didalam memori ketika kamu mengatur datanya daripada mengganti value pada variable yang ada.
string myString = "Selamat Datang!"; // instance baru akan dibuat myString += "di"; myString += "Idcsharp”; Console.WriteLine(myString);
Mutable
Mutable berarti apabila kamu melakukan operasi pada String maka sistem tidak akan membuat instance baru setiap operasi dijalankan. Dengan begitu, ruang memori tidak akan dipenuhi dengan object – object baru.
StringBuilder myString = new StringBuilder(""); myString.Append("Selamat Datang!"); myString.Append("di IDCsharp"); Console.WriteLine(myString);
Berikut ini adalah rincian Perbedaan String dan String
String
- Berada didalam namespace System.
using System
- Bersifat Immutable instance
- Performa turun ketika sering digunakan ( terus menerus merubah value pada variable ).
- Thread Safe
Baca Juga: Continue pada C#, Apasih Maksudnya ?
StringBuilder
- Berada didalam namespace System.Text. using
System.Text
. - Bersifat Mutable
- Performa lebih baik, karena merubah value pada Variable pada instance yang sama.
Sebenarnya Microsoft sendiri menyarankan kamu untuk lebih menggunakan StringBuilder daripada menggunakan string standar, karena lebih efektif dalam menghemat penggunaan memori.
Bagaimana menurutmu, Apakah kamu dapat memahaminya ?, ceritakan di kolom komentar ya.