کلاس String Builder
نوع داده String در سی شارپ تغییر ناپذیر ( immutable ) هستند. یعنی وقتی String ساخته می شود مقدارش هیچ موقع قابل تغییر نیست تا زمانی که از بین برود.
String path = "a"; path += "a";
در دستور بالا مقدار متغییر path با رشته “a” جمع می شود و در یک قسمت از حافظه و محل جدید قرار می گیرد و متعییر path به آن اشاره می کند و آبجکتی که path ابتدا بهش اشاره می کرد ، نابود می شود و در اینجا OverHead رخ می دهد.
به یک مثال دیگر توجه فرمایید:
string temp = "a"; temp = temp + "b"; temp += "c"; temp += "d";
در این مثال ابتدا یک آبجکت از نوع string میسازید، اما در خطوط بعدی با هر بار تغییر مقدار آن؛ آبجکتهای قدیمی فراموش و یک آبجکت جدید از نوع string ، با مقدار جدید ، ساخته میشود.
به این ترتیب میشه انتظار داشت که چه سربار وحشتناکی روی منابع سیستم میتونه داشته باشد
- انجام این عملیات در برنامه هایی که با مقادیر بزرگ رشته ایی سر و کار دارد ممکن است که کارایی برنامه رو پایین بیارد .
- در این حالت میتوان از System.StringBuilder که در فضای نام System.Text می باشد استفاده کرد که حالت پویا و داینامیک دارد.
- بصورت کلی در حالتیکه اعمال تغییرات زیاد روی رشته ها نیاز باشد بهتر است آبجکتی از کلاس StringBuilder ساخته و با خاصیت Append آن کار کنیم.
در این برنامه متد و خصوصیات کاربردی این کلاس همراه با توضیحات استفاده شده که بر اساس ورودی های کاربر خروجی رو درر لیست نشون میدهد.که در پایین این مقاله میتونید دانلود کنید
برای مشاهده کلیه سورس های برنامه سی شارپ کلیک نمایید.
امتیاز دهی به این مطلب :
امتیاز
جمع امتیازات
لطفا به این مقاله امتیاز بدهید