PDA

نسخه کامل مشاهده نسخه کامل : what is a programmer to do?



Life24
02-02-2017, 06:06
سلام
دوستان پیشنهاد شما چیست؟

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

_H2_
01-03-2017, 01:12
سلام
حتما خودتان مطلع هستید که برای اغلب مواردی که نیاز به ساخت string جدید ناشی از الحاق متوالی (Concat) است، کلاس System.Text.StringBuilder بازدهی مناسبی ارائه میدهد.
مکانیزم داخلی StringBuilder شبیه یک <List<char (وحتی بهتر) عمل میکند که بافری تخصیص داده وتا پرشدن آن از بزرگ کردن بافر اجتناب میکند.

(لازم است تاکید کنم که در اغلب موارد نیاز نمیشود ولی) اگر واقعا پردازش های سنگین ومتوالی روی داده های string ای نیاز باشد، شاید بهتر باشد، مستقیم از <List<char و یا حتی آرایه char استفاده شود، (مانند سایر زبان ها) خیلی مهم است که مفهوم Capacity و Count جدا باشد، یعنی بافر شما بتواند بزرگتر باشد ولی متن کوچکتری را در خود جای دهد تا فضا برای درج های آتی داشته باشد.
درموارد پیشرفته تر شاید بتوانید بافرهای متعدد داشته باشید، مثلا اطلاعات هر یک خط (Line) یا صفحه (Page) را در یک بافر نگه داری کنیدو...
کل اینها فقط برای موارد خاص است که حجم پردازش های متنی سنگین و زیاد باشد.

موفق باشید.