CodeShot

String در مقابل StringBuilder

String Immutable است و هر تغییر یک شیء جدید ایجاد می‌کند؛ StringBuilder برای تغییرات مکرر رشته طراحی شده است.

ویژگیStringStringBuilder
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