String در مقابل StringBuilder
String Immutable است و هر تغییر یک شیء جدید ایجاد میکند؛ StringBuilder برای تغییرات مکرر رشته طراحی شده است.
| ویژگی | String | StringBuilder |
|---|---|---|
| Immutable | بله | خیر |
| سرعت الحاق | کم | زیاد |
| مصرف حافظه | بیشتر | کمتر |
| مناسب حلقه | خیر | بله |
| Thread Safe | بله | خیر |
کِی از String استفاده کنیم؟
رشتههای کوتاه یا تغییرات کم.
کِی از StringBuilder استفاده کنیم؟
حلقهها یا تولید متنهای طولانی.
مثال String
string s = "";
for(int i=0;i<1000;i++) s += i;
مثال StringBuilder
var sb = new StringBuilder();
for(int i=0;i<1000;i++) sb.Append(i);
اشتباه رایج
استفاده از String داخل حلقههای بزرگ.
جمعبندی
تغییر زیاد → StringBuilder
تغییر کم → String
